Creating integration-test_federation_1 ... Creating integration-test_experiment_1 ... Creating integration-test_gateway_1 ... Creating integration-test_authentication_1 ... Creating integration-test_device_1 ... Creating integration-test_authorization_1 ... Creating integration-test_federation_1 ... done Creating integration-test_experiment_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_device_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_authorization_1 ... done Attaching to integration-test_federation_1, integration-test_experiment_1, integration-test_gateway_1, integration-test_device_1, integration-test_authentication_1, integration-test_authorization_1 device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} device_1 | {"level":"info","message":"Device Service started successfully"} experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment_1 | {"level":"info","message":"Experiment Service started successfully"} federation_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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 federation_1 | {"level":"info","message":"Federation Service started successfully"} gateway_1 | 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf gateway_1 | /docker-entrypoint.sh: Sourcing /docker-entrypoint.d/15-local-resolvers.envsh gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-create_config.sh gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/authorization_service.conf to /etc/nginx/authorization_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/nginx.conf to /etc/nginx/nginx.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/device_service.conf to /etc/nginx/device_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/experiment_service.conf to /etc/nginx/experiment_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/auth_service.conf to /etc/nginx/auth_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/federation_service.conf to /etc/nginx/federation_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_json_errors.conf to /etc/nginx/api_json_errors.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_backends.conf to /etc/nginx/api_backends.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.conf gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway_1 | /docker-entrypoint.sh: Configuration complete; ready for start up authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-04-11T13:10:01Z"} authorization_1 | {"client_addr":"127.0.0.1:36730","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-04-11T13:10:02Z"} authorization_1 | {"client_addr":"127.0.0.1:36730","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.218691,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:02Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1712841002.3251889} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1712841002.3252678} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1712841002.325286} 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":1712841002.3253076} 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":1712841002.3253286} 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":1712841002.3253684,"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":1712841002.3258686} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1712841002.327251} 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:41506","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-04-11T13:10:02.345195167Z","id":"01HV6MF3B9AXZGG7ADSHE8VNYX","name":"crosslab","updated_at":"2024-04-11T13:10:02.345195167Z"},"request_id":"94d5087a-0e5d-44f6-a062-8124f02cb183","subsystem":"openfga","timestamp":1712841002.3452694} 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:41506","raw_request":{"schema_version":"1.1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HV6MF3D7EKXJPA0NC936HDCY"},"request_id":"c03e77e3-9085-4d14-9aad-cec3c5339b38","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841002.407354} authorization_1 | {"client_addr":"127.0.0.1:36730","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-04-11T13:10:02Z"} authorization_1 | {"client_addr":"127.0.0.1:36730","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.187224,"resp_status":204,"subsystem":"opa","time":"2024-04-11T13:10:02Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.63.0/opa_linux_amd64","latest_version":"0.63.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.63.0","subsystem":"opa","time":"2024-04-11T13:10:02Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /auth/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"53c4adfb6797058cfcf069c15abfbf58"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 16ms","method":"HEAD","requestID":"53c4adfb6797058cfcf069c15abfbf58","responseTime":16,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"11/Apr/2024:13:10:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /device/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.025","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"9aaaa937a2a17917df17c480920797ea"} device_1 | {"level":"info","message":"HEAD /device/status 200 16ms","method":"HEAD","requestID":"d6566d50-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"11/Apr/2024:13:10:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.010","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b16f3e9becc919fda5cb3a3d70fe7d1e"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 4ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"b16f3e9becc919fda5cb3a3d70fe7d1e"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"11/Apr/2024:13:10:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /federation/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.024","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"11475d397b22550d51c669cdddea779d"} federation_1 | {"level":"info","message":"HEAD /federation/status 200 14ms","method":"HEAD","requestID":"d65e3580-f804-11ee-9822-87e76a5342ad","responseTime":14,"status":200,"url":"/federation/status"} gateway_1 | {"time_local":"11/Apr/2024:13:10:15 +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.020","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"969383e595b182aa555d1386c9934a7f"} experiment_1 | {"level":"info","message":"HEAD /experiment/status 200 12ms","method":"HEAD","requestID":"d662a250-f804-11ee-b17a-ef8fe304cf9f","responseTime":12,"status":200,"url":"/experiment/status"} authentication_1 | {"level":"info","message":"POST /login 201 124ms","method":"POST","requestID":"61001e09f7331a3a9b14cc466ba79af8","responseTime":124,"status":201,"url":"/login"} gateway_1 | {"time_local":"11/Apr/2024:13:10:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.147","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61001e09f7331a3a9b14cc466ba79af8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAxOH0.LdHIV5dH5dfX2nLXobV9ypoKQlBwTi4RR7X2iEi5mrY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 198ms","method":"GET","requestID":"e1e32ba00b79cc2956182c3860b90357","responseTime":198,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:18Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.110491,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:18Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841018,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAxOH0.LdHIV5dH5dfX2nLXobV9ypoKQlBwTi4RR7X2iEi5mrY"} authorization_1 | {"level":"info","message":"POST /authorize 200 34ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1e32ba00b79cc2956182c3860b90357"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":34}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"75d71c4a-d4f0-4b34-b067-5e301ee372fb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.0906568} 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":"e1e32ba00b79cc2956182c3860b90357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99efd09b-5dfb-44a7-a180-2381d2fc30ae","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.113417} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1e32ba00b79cc2956182c3860b90357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"c3e924fe-ecc7-4543-a616-d0d446b78726","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.1611671} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adcf8aaf-b495-4c76-81d3-303a03a179cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.1625352} authorization_1 | {"level":"info","message":"POST /relations/update 200 52ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1e32ba00b79cc2956182c3860b90357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":52}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.161136655Z"}]},"request_id":"6b8f146f-26d5-441f-b973-442bd1bb8583","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.1747239} 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":"e1e32ba00b79cc2956182c3860b90357"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 385ms","method":"POST","requestID":"e1e32ba00b79cc2956182c3860b90357","responseTime":385,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.618","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1e32ba00b79cc2956182c3860b90357"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAxOX0.bN1FrM-bCHHsMq2ZhJKszX2PH72LtTc4LE7F97gYH6I","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ef0fed40d616442207a21c3f1b08898f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:19Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.563704,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841019,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAxOX0.bN1FrM-bCHHsMq2ZhJKszX2PH72LtTc4LE7F97gYH6I"} 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":"ef0fed40d616442207a21c3f1b08898f"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b33b4bcf-4881-4bec-973b-a002cf893f63","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.294262} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0fed40d616442207a21c3f1b08898f"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8f90733-72de-4fe4-91c5-cb93a14636f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.3075037} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0fed40d616442207a21c3f1b08898f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3e1859fa-3ed6-4b1b-80e4-425cb77e63ea","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.3417573} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd23faa6-46d9-433f-a6b7-1e8afa6f41b7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.342256} authorization_1 | {"level":"info","message":"POST /relations/update 200 40ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef0fed40d616442207a21c3f1b08898f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":40}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.341744348Z"}]},"request_id":"db3fb1ae-7291-4834-ac2e-aba3eaa6531a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841019.3587697} 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":"ef0fed40d616442207a21c3f1b08898f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 143ms","method":"POST","requestID":"ef0fed40d616442207a21c3f1b08898f","responseTime":143,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef0fed40d616442207a21c3f1b08898f"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f66f664ab99e27db24e0ee43d407fea3","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"2c651d178b831cefccdb3b8be9e9431a","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f66f664ab99e27db24e0ee43d407fea3"} device_1 | {"level":"info","message":"OPTIONS /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket 200 4ms","method":"OPTIONS","requestID":"f66f664ab99e27db24e0ee43d407fea3","responseTime":4,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2c651d178b831cefccdb3b8be9e9431a"} device_1 | {"level":"info","message":"OPTIONS /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket 200 2ms","method":"OPTIONS","requestID":"2c651d178b831cefccdb3b8be9e9431a","responseTime":2,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"c675b35f1162e2718be6654bf1fa2c4c","responseTime":12,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 12ms","method":"GET","requestID":"c7fee9d01ddfd30e2fef020371c0b94d","responseTime":12,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.804464,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"c675b35f1162e2718be6654bf1fa2c4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.489487,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} authorization_1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7fee9d01ddfd30e2fef020371c0b94d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.071","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c7fee9d01ddfd30e2fef020371c0b94d"} device_1 | {"level":"info","message":"POST /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket 200 52ms","method":"POST","requestID":"c7fee9d01ddfd30e2fef020371c0b94d","responseTime":52,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.103","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"c675b35f1162e2718be6654bf1fa2c4c"} device_1 | {"level":"info","message":"POST /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket 200 87ms","method":"POST","requestID":"c675b35f1162e2718be6654bf1fa2c4c","responseTime":87,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"5afb4c99d6ac2de2e4a68e4db5c39804","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.939082,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"5afb4c99d6ac2de2e4a68e4db5c39804"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.161136655Z"}]},"request_id":"c92c66ed-0678-45ea-b277-286bca8b825f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841022.6318715} 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":"5afb4c99d6ac2de2e4a68e4db5c39804"},"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":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5afb4c99d6ac2de2e4a68e4db5c39804"} device_1 | {"level":"info","message":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? 200 47ms","method":"GET","requestID":"5afb4c99d6ac2de2e4a68e4db5c39804","responseTime":47,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"2d8ccdffc9169e046b09405d8666b608","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226218,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"2d8ccdffc9169e046b09405d8666b608"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.341744348Z"}]},"request_id":"aa56b7e7-f942-4dbb-a14b-9ff4eb529f23","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841022.6929674} 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":"2d8ccdffc9169e046b09405d8666b608"},"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":"11/Apr/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d8ccdffc9169e046b09405d8666b608"} device_1 | {"level":"info","message":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? 200 32ms","method":"GET","requestID":"2d8ccdffc9169e046b09405d8666b608","responseTime":32,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"c786d2b0457a2349acea2aac73fe7204","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:38658","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.895143,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"c786d2b0457a2349acea2aac73fe7204"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"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:38658","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.677479,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"dacb7ab0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704576,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"dacbc8d0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.161136655Z"}]},"request_id":"192ffa6a-a6d3-4bf4-90dc-4a948cfdb26f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841022.9537544} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.341744348Z"}]},"request_id":"6aee5ab9-6542-4da6-bdec-44db2f8ed623","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841022.9553554} 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":"dacb7ab0-f804-11ee-96ad-77028417699d"},"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 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":"dacbc8d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? 200 30ms","method":"GET","requestID":"dacb7ab0-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? 200 30ms","method":"GET","requestID":"dacbc8d0-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"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:38658","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92732,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dae0d770-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.26238,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"dae14ca0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.709853,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4686d2f4-83bf-4136-a374-a2d5931e5aa0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1016192} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.341744348Z"}]},"request_id":"d5cce311-2fe3-4677-abb7-87ad45e37f15","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1056366} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dae1c1d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"level":"info","message":"POST /relations/query 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dae14ca0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.161136655Z"}]},"request_id":"257b6de2-ced5-48ed-b96c-4d3b3d2b26f1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1114876} 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":"dae0d770-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a91711c-17ae-47ee-afd4-62f10f746b92#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a91711c-17ae-47ee-afd4-62f10f746b92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a6103f95-ab36-4a29-b6ab-26a93e098e6d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1241703} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ea702c4-8297-41fa-9422-3e582602d7c7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1244426} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling 200 42ms","method":"POST","requestID":"dae1c1d0-f804-11ee-96ad-77028417699d","responseTime":42,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? 200 46ms","method":"GET","requestID":"dae14ca0-f804-11ee-96ad-77028417699d","responseTime":46,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? 200 51ms","method":"GET","requestID":"dae0d770-f804-11ee-96ad-77028417699d","responseTime":51,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c?"} authorization_1 | {"level":"info","message":"POST /relations/update 200 32ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c786d2b0457a2349acea2aac73fe7204"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":32}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3942abca-2562-4df2-b280-e9331c0ee8d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1374054} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.173896,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","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/4a91711c-17ae-47ee-afd4-62f10f746b92","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} 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":"dae8c6b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.291091,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3830208d-a507-40ef-8e83-d5b2dc301869","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.144147} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","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 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":"dae98a00-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"POST /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling 200 18ms","method":"POST","requestID":"dae8c6b0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 406ms","method":"POST","requestID":"c786d2b0457a2349acea2aac73fe7204","responseTime":406,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.441","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c786d2b0457a2349acea2aac73fe7204"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling 200 19ms","method":"POST","requestID":"dae98a00-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e5a5ec63d0e53e0a1cf1d1d0c70cb14","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:38658","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4e7e438-93cb-4a77-91e1-3d3a64c7b89f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.1648953} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836768,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} 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":"4e5a5ec63d0e53e0a1cf1d1d0c70cb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.625348,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","rebac_allow":false,"scope_allow":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":"daed0c70-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.161136655Z"}]},"request_id":"eec3d80e-2ddb-47e8-95a8-c24a7fbe6add","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.170874} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling 200 12ms","method":"POST","requestID":"daed0c70-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/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":"4e5a5ec63d0e53e0a1cf1d1d0c70cb14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"0b0602fe-2b4b-4290-b30e-907c3c381273"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"621803a5-3ba4-4792-9e94-00fff536e7d8"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"0eb6a5d2-6fb6-4cb3-9c29-a4ac90ad9d1f"}]},"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/49687799-d5a3-400d-a141-73bf9bb79c2c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? 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":"4e5a5ec63d0e53e0a1cf1d1d0c70cb14"} device_1 | {"level":"info","message":"GET /devices/49687799-d5a3-400d-a141-73bf9bb79c2c? 200 16ms","method":"GET","requestID":"4e5a5ec63d0e53e0a1cf1d1d0c70cb14","responseTime":16,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c?"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d766c6b0aed00dcab5ebe19a847a5d56","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.644577,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841022,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyMn0.rq3Rpp_1shvBPf7W1nrXBRyF4HXLCg8ha2B00jAyglg"} 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":"daf067d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.496907,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d766c6b0aed00dcab5ebe19a847a5d56"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:19.341744348Z"}]},"request_id":"c3fdb317-ac50-4eac-9333-469d0d28e116","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.194674} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d766c6b0aed00dcab5ebe19a847a5d56"},"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":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? 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":"d766c6b0aed00dcab5ebe19a847a5d56"} device_1 | {"level":"info","message":"GET /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6? 200 19ms","method":"GET","requestID":"d766c6b0aed00dcab5ebe19a847a5d56","responseTime":19,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3a4b20f6-e40e-4ab7-8be7-0a0557e4b07f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.2201762} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f6a71d8-6d78-4086-a026-2ede6c28bea5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.2203531} 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":"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":"daf067d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":24}} 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/3a0b2c50-9a61-40e7-bb57-655efce81b93'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93'"} 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 57ms","method":"POST","requestID":"daf067d0-f804-11ee-96ad-77028417699d","responseTime":57,"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/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a6b4fe0-7ef9-45a2-b5b7-133a2909f937","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.2852635} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.236135,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"daff8300-f804-11ee-96ad-77028417699d"},"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/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling 200 10ms","method":"POST","requestID":"daff8300-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b009bdc-8183-421d-99f5-81cbfc56a79d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.2982018} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.602811,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","rebac_allow":false,"scope_allow":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":"db017ed0-f804-11ee-96ad-77028417699d"},"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/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling 200 11ms","method":"POST","requestID":"db017ed0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","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":"8d27384a1ddf7ed6c40cd95a06844969","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/49687799-d5a3-400d-a141-73bf9bb79c2c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 25ms","method":"POST","requestID":"8d27384a1ddf7ed6c40cd95a06844969","responseTime":25,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"8d27384a1ddf7ed6c40cd95a06844969"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","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":"1e550de127f1f93338cb0c6a5afd4bc2","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/49687799-d5a3-400d-a141-73bf9bb79c2c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a0b2c50-9a61-40e7-bb57-655efce81b93","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e106324-30db-4df9-84cd-545fbcd8a376","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.571493} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.918786,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db2ab1b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93 200 17ms","method":"GET","requestID":"db2ab1b0-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 62ms","method":"POST","requestID":"1e550de127f1f93338cb0c6a5afd4bc2","responseTime":62,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.067","http_referrer":"","http_user_agent":"node-fetch","requestID":"1e550de127f1f93338cb0c6a5afd4bc2"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2155c9cf-b6cd-4476-92c7-2ad8d8b254e1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.6214058} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.063469,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"db3279e0-f804-11ee-96ad-77028417699d"},"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/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling 200 18ms","method":"POST","requestID":"db3279e0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"b0516de4e3e20029f70fb695b696b46e","responseTime":9,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.456735,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} 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":"b0516de4e3e20029f70fb695b696b46e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b785f6ed-50e3-4776-9e8a-8bd1c8ce9ca8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.648015} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.610115,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","rebac_allow":false,"scope_allow":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":"db364a70-f804-11ee-96ad-77028417699d"},"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/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling 200 20ms","method":"POST","requestID":"db364a70-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} gateway_1 | {"time_local":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0516de4e3e20029f70fb695b696b46e"} experiment_1 | {"level":"info","message":"GET /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92 200 30ms","method":"GET","requestID":"b0516de4e3e20029f70fb695b696b46e","responseTime":30,"status":200,"url":"/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6112647a8f148b97717aed5ae7d44c4f","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.445442,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} 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":"6112647a8f148b97717aed5ae7d44c4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.424901,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} 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":"db411fe0-f804-11ee-96ad-77028417699d"},"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/3a0b2c50-9a61-40e7-bb57-655efce81b93' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","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":"ccd739db3f436ea851db89bde6300a86","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/49687799-d5a3-400d-a141-73bf9bb79c2c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a3a0a799b0303d00553d924002fd1c3d","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a0b2c50-9a61-40e7-bb57-655efce81b93': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3a0b2c50-9a61-40e7-bb57-655efce81b93","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"30091f6d-ef3a-401d-9c32-441ea2b40361","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.7588665} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1b6ce7c7-638c-4d7a-acf1-883c77476521","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.7595046} 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":"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":"db411fe0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":29}} device_1 | {"data":{"peerconnection":"3a0b2c50-9a61-40e7-bb57-655efce81b93","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/3a0b2c50-9a61-40e7-bb57-655efce81b93 204 77ms","method":"DELETE","requestID":"db411fe0-f804-11ee-96ad-77028417699d","responseTime":77,"status":204,"url":"/peerconnections/3a0b2c50-9a61-40e7-bb57-655efce81b93"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F49687799-d5a3-400d-a141-73bf9bb79c2c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dabe9e2d-3c4e-4f75-9354-96bad4eed22b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.827285} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.238857,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c","object_type":"device","rebac_allow":false,"scope_allow":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":"db519aa0-f804-11ee-96ad-77028417699d"},"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/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling 200 21ms","method":"POST","requestID":"db519aa0-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/49687799-d5a3-400d-a141-73bf9bb79c2c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F258c24c9-7c70-471a-abea-fe4f9cb510b6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9b96905-c39d-420d-9f01-6bdbfc2b17f4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.852244} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a91711c-17ae-47ee-afd4-62f10f746b92': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4a91711c-17ae-47ee-afd4-62f10f746b92","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"5e1e1d86-a038-430b-a4d9-aafac0e47848","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.853243} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.043439,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08bd8825-c1dd-4044-bcbe-c1d495ce7c2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.8544037} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6","object_type":"device","rebac_allow":false,"scope_allow":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":"db55b950-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"level":"info","message":"POST /relations/update 200 44ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6112647a8f148b97717aed5ae7d44c4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":44}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling 200 21ms","method":"POST","requestID":"db55b950-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/258c24c9-7c70-471a-abea-fe4f9cb510b6/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} gateway_1 | {"time_local":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.260","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6112647a8f148b97717aed5ae7d44c4f"} experiment_1 | {"level":"info","message":"DELETE /experiments/4a91711c-17ae-47ee-afd4-62f10f746b92 204 255ms","method":"DELETE","requestID":"6112647a8f148b97717aed5ae7d44c4f","responseTime":255,"status":204,"url":"/experiments/4a91711c-17ae-47ee-afd4-62f10f746b92"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"ccd739db3f436ea851db89bde6300a86","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.204","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccd739db3f436ea851db89bde6300a86"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"a3a0a799b0303d00553d924002fd1c3d","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.204","http_referrer":"","http_user_agent":"node-fetch","requestID":"a3a0a799b0303d00553d924002fd1c3d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"530af20e1b3adc193becad17331c10a5","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"1.381","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e4491393d30294361d10c10de292f699"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:23Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2195","request_time":"1.407","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b0160c893ef4b5ba47543841faf25325"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974793,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841023,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyM30.grfA3PXPL2e-6QKChDLLh47669MgI3a_tAIA5D-2OMU"} 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":"530af20e1b3adc193becad17331c10a5"},"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/258c24c9-7c70-471a-abea-fe4f9cb510b6' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/49687799-d5a3-400d-a141-73bf9bb79c2c' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2030bee5-90f4-4f68-9db9-24f4d3f3b6ec","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.9764867} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"530af20e1b3adc193becad17331c10a5"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3245c53b-921c-47fe-8fd6-afac23795650","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.9828246} 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":"530af20e1b3adc193becad17331c10a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"dc7f9563-b059-4354-92dd-8b5e999107e5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.9943519} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1942532-b80f-4bc1-9f21-5bbb71599dca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.994912} 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":"530af20e1b3adc193becad17331c10a5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:23.994340816Z"}]},"request_id":"5eb61401-2e96-4c77-9b6a-76ca129d1ba2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841023.9999955} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"530af20e1b3adc193becad17331c10a5"},"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 50ms","method":"POST","requestID":"530af20e1b3adc193becad17331c10a5","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"530af20e1b3adc193becad17331c10a5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3a8922f5c7ccf582b89c7915ab955fd4","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.60579,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841024,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU"} 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":"3a8922f5c7ccf582b89c7915ab955fd4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7e3450fb-f324-4366-bd5a-8ee4cbc01b2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.026728} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a8922f5c7ccf582b89c7915ab955fd4"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7105c717-0cb8-4270-9f5d-f2228ab276f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.031358} 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":"3a8922f5c7ccf582b89c7915ab955fd4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"35b9faea-c142-485a-a6f5-ac32baef20e7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.0436091} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"402679c9-6d01-4f82-aed6-62987d1904e7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.0438647} 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":"3a8922f5c7ccf582b89c7915ab955fd4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"2fec1c01-9685-4225-9584-2d329a2dcf76","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.0500877} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3a8922f5c7ccf582b89c7915ab955fd4"},"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":"3a8922f5c7ccf582b89c7915ab955fd4","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a8922f5c7ccf582b89c7915ab955fd4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d15f3e62381ded0fc8268652f0d4635e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.275303,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841024,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU"} 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":"d15f3e62381ded0fc8268652f0d4635e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"5c32353a-b2ff-41ae-991f-04117b23dca2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.6547823} 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":"d15f3e62381ded0fc8268652f0d4635e"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b7b1b48-b7f2-4727-8963-e7b3e1f2e3c3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.663681} 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":"d15f3e62381ded0fc8268652f0d4635e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"15a4ad00-7287-4d0c-82c9-668b85aeff79","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841024.6786015} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d15f3e62381ded0fc8268652f0d4635e"},"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":"11/Apr/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/346e899c-947a-45ae-960b-06bb89f6be49 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.072","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d15f3e62381ded0fc8268652f0d4635e"} device_1 | {"level":"info","message":"PATCH /devices/346e899c-947a-45ae-960b-06bb89f6be49 200 67ms","method":"PATCH","requestID":"d15f3e62381ded0fc8268652f0d4635e","responseTime":67,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c096868aa7938e4254d245d5a7aac486","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.059447,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841024,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNH0.8xxzEMBIYoaF_D_IMlf7h2JySjJFdDnrdkpYwaiVNuU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c096868aa7938e4254d245d5a7aac486"},"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":"11/Apr/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/346e899c-947a-45ae-960b-06bb89f6be49/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.029","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c096868aa7938e4254d245d5a7aac486"} device_1 | {"level":"info","message":"POST /devices/346e899c-947a-45ae-960b-06bb89f6be49/websocket 200 22ms","method":"POST","requestID":"c096868aa7938e4254d245d5a7aac486","responseTime":22,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49' 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":"ebe2c8d4a8fe6685f172e759ae8a4330","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/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":"ebe2c8d4a8fe6685f172e759ae8a4330"} device_1 | {"level":"info","message":"OPTIONS /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/websocket 200 2ms","method":"OPTIONS","requestID":"ebe2c8d4a8fe6685f172e759ae8a4330","responseTime":2,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"b3f32cdb66a726310524a46f6f9963ef","responseTime":9,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.376834,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"b3f32cdb66a726310524a46f6f9963ef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/websocket 200 37ms","method":"POST","requestID":"b3f32cdb66a726310524a46f6f9963ef","responseTime":37,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b3f32cdb66a726310524a46f6f9963ef"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6b8686008ddebbc2933b1dbe6ef245fa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668026,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b8686008ddebbc2933b1dbe6ef245fa"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:23.994340816Z"}]},"request_id":"585b39e5-1bc1-48ca-af6f-b511e91ffd87","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.1782086} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b8686008ddebbc2933b1dbe6ef245fa"},"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":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 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":"6b8686008ddebbc2933b1dbe6ef245fa"} device_1 | {"level":"info","message":"GET /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 200 20ms","method":"GET","requestID":"6b8686008ddebbc2933b1dbe6ef245fa","responseTime":20,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"041a2f7093a2ee9ec570b8426db3bd68","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.357427,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"041a2f7093a2ee9ec570b8426db3bd68"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"05af4bb4-2d45-4c60-be98-114715a377c1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.2064135} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"041a2f7093a2ee9ec570b8426db3bd68"},"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":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"041a2f7093a2ee9ec570b8426db3bd68"} device_1 | {"level":"info","message":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? 200 21ms","method":"GET","requestID":"041a2f7093a2ee9ec570b8426db3bd68","responseTime":21,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"38fded1ad7bc26ec45e0e1dbd8126ece","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:38658","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.309256,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"38fded1ad7bc26ec45e0e1dbd8126ece"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"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:38658","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.324032,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dccb9070-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.564463,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dccbde90-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:23.994340816Z"}]},"request_id":"bab410bb-67b2-42c2-9856-efdd363206e2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.3129053} 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":"dccb9070-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"d4b3e73b-7dba-4e43-a9ff-15d012d3123b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.3147671} 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":"dccbde90-f804-11ee-96ad-77028417699d"},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 200 31ms","method":"GET","requestID":"dccb9070-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? 200 31ms","method":"GET","requestID":"dccbde90-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"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:38658","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.760675,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dcdea340-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.827996,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dcdef160-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.637372,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"176cf57d-46d2-41ee-8c30-eaf3446628dc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.435389} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:23.994340816Z"}]},"request_id":"33f7fef3-2baf-4aa4-a468-c5c5abd8d2dc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4375393} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","rebac_allow":false,"scope_allow":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":"dcdf6690-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dcdea340-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"22590de8-1b76-4dee-8f23-b4ad1541e07b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4441388} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling 200 25ms","method":"POST","requestID":"dcdf6690-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/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":"dcdef160-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 200 37ms","method":"GET","requestID":"dcdea340-f804-11ee-96ad-77028417699d","responseTime":37,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9fdceaf8-817b-4b1f-bec6-c89ab86c7639#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9fdceaf8-817b-4b1f-bec6-c89ab86c7639","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"0c30e2d5-33f9-4707-bc0f-0ec442a2c31a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4576774} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e76fa00d-6cd3-470f-95c0-7df4e1cd5682","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4581525} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? 200 41ms","method":"GET","requestID":"dcdef160-f804-11ee-96ad-77028417699d","responseTime":41,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49?"} 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":"38fded1ad7bc26ec45e0e1dbd8126ece"},"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:38658","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aea3f4f-196c-4347-8fcb-8a0e7ff414be","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.473584} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.363366,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","rebac_allow":false,"scope_allow":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":"dce46fa0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 251ms","method":"POST","requestID":"38fded1ad7bc26ec45e0e1dbd8126ece","responseTime":251,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.264","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38fded1ad7bc26ec45e0e1dbd8126ece"} device_1 | {"level":"info","message":"POST /devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling 200 25ms","method":"POST","requestID":"dce46fa0-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c95c709ddaa1cd3175d339c409df6cac","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.612212,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6763a8ba-d880-49b4-955b-e9b600b4ef73","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4852488} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","rebac_allow":false,"scope_allow":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":"dce707b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.059576,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} device_1 | {"level":"info","message":"POST /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling 200 19ms","method":"POST","requestID":"dce707b0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c95c709ddaa1cd3175d339c409df6cac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:23.994340816Z"}]},"request_id":"93007e51-9aa1-4f98-a6af-96ec3254e1fa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.4997787} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c95c709ddaa1cd3175d339c409df6cac"},"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:38658","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3cf9730f-8f5e-4e90-b203-a43e9e7eeedb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.5022855} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.37513,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","rebac_allow":false,"scope_allow":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":"dcea8a20-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 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":"c95c709ddaa1cd3175d339c409df6cac"} device_1 | {"level":"info","message":"GET /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d? 200 16ms","method":"GET","requestID":"c95c709ddaa1cd3175d339c409df6cac","responseTime":16,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling 200 10ms","method":"POST","requestID":"dcea8a20-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"416b82a3-1f16-4cc6-9a4d-d725154acfbc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"7af0566f-604c-46ea-a6b5-cd0473bb3811"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d91fc96f-c0db-4331-9913-2e656670f6f4"}]},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c3e602c04666cebfb269c617efd3f69c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.632229,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dcec85f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.56733,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3e602c04666cebfb269c617efd3f69c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:24.043598421Z"}]},"request_id":"6647a914-d97a-4462-a137-0de74bcfca09","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.5213783} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3e602c04666cebfb269c617efd3f69c"},"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":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3e602c04666cebfb269c617efd3f69c"} device_1 | {"level":"info","message":"GET /devices/346e899c-947a-45ae-960b-06bb89f6be49? 200 14ms","method":"GET","requestID":"c3e602c04666cebfb269c617efd3f69c","responseTime":14,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"63ee303b-a5ec-4e56-86f1-e5ef9a052db2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.5295596} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efdb8f04-18fe-4868-8583-0a7aa1853aba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.5297863} 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":"dcec85f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"dcec85f0-f804-11ee-96ad-77028417699d","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5df0dbe8-e435-4ad0-b91c-bab888ebaed3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.599788} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810475,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"dcf93020-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7da200fa5d9328ab6fb02da85cb8c5dd","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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"7da200fa5d9328ab6fb02da85cb8c5dd","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"7da200fa5d9328ab6fb02da85cb8c5dd"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling 200 23ms","method":"POST","requestID":"dcf93020-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2682f94-c528-49c8-a165-3b00b2bcb01d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.6246097} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.422379,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","rebac_allow":false,"scope_allow":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":"dcfd00b0-f804-11ee-96ad-77028417699d"},"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/346e899c-947a-45ae-960b-06bb89f6be49/signaling 200 15ms","method":"POST","requestID":"dcfd00b0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","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/70ca40cf-2299-4c3e-a46a-35624a27afb4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","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":"4d92b79036968b5ba358c3ca68af5f08","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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F70ca40cf-2299-4c3e-a46a-35624a27afb4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47b2b457-8e64-48e0-8b33-8f5daad8f569","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.669701} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.1369,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4","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":"dd040590-f804-11ee-96ad-77028417699d"},"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/70ca40cf-2299-4c3e-a46a-35624a27afb4 200 9ms","method":"GET","requestID":"dd040590-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"4d92b79036968b5ba358c3ca68af5f08","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"4d92b79036968b5ba358c3ca68af5f08"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a24bf42-6861-4f46-bc68-7eb4015f16d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.695999} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.25044,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","rebac_allow":false,"scope_allow":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":"dd07fd30-f804-11ee-96ad-77028417699d"},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling 200 9ms","method":"POST","requestID":"dd07fd30-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94947868-601c-4136-ad29-8ebf1bc31bf0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.707508} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303692,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","rebac_allow":false,"scope_allow":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":"dd09d1f0-f804-11ee-96ad-77028417699d"},"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/346e899c-947a-45ae-960b-06bb89f6be49/signaling 200 10ms","method":"POST","requestID":"dd09d1f0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0403a9f3e10a989e3be3fe14054c7806","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.378448,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"0403a9f3e10a989e3be3fe14054c7806"},"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/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} gateway_1 | {"time_local":"11/Apr/2024:13:10:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0403a9f3e10a989e3be3fe14054c7806"} experiment_1 | {"level":"info","message":"GET /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639 200 22ms","method":"GET","requestID":"0403a9f3e10a989e3be3fe14054c7806","responseTime":22,"status":200,"url":"/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ceb8251d65ee1813c90a611675384d26","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.326751,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"ceb8251d65ee1813c90a611675384d26"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.40167,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841026,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyNn0.1Bk9prrIUXBwInO2rv_ilM7W-o_aftb8wJV8tJVT4io"} 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":"dd1a73c0-f804-11ee-96ad-77028417699d"},"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/70ca40cf-2299-4c3e-a46a-35624a27afb4' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F70ca40cf-2299-4c3e-a46a-35624a27afb4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F70ca40cf-2299-4c3e-a46a-35624a27afb4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"cefe5e5e-0cc0-4b5e-b1d9-48f11013320a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.848186} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6242389cf2235beef109a0de85e2e6f2","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"785b7d6f-a710-400b-909c-eb506bfa1b81","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.848911} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"80a5ac68c724def78cbe69549089a3c5","responseTime":1,"status":200,"url":"/auth"} 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":"dd1a73c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} 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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"}}},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"70ca40cf-2299-4c3e-a46a-35624a27afb4","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/70ca40cf-2299-4c3e-a46a-35624a27afb4 204 75ms","method":"DELETE","requestID":"dd1a73c0-f804-11ee-96ad-77028417699d","responseTime":75,"status":204,"url":"/peerconnections/70ca40cf-2299-4c3e-a46a-35624a27afb4"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9f58f61-0359-4c5c-98a4-ccd9986dac84","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.921964} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.805427,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d","object_type":"device","rebac_allow":false,"scope_allow":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":"dd29b600-f804-11ee-96ad-77028417699d"},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling 200 18ms","method":"POST","requestID":"dd29b600-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9fdceaf8-817b-4b1f-bec6-c89ab86c7639': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F9fdceaf8-817b-4b1f-bec6-c89ab86c7639","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"4a5cddfa-736c-4648-8cc4-768a3af70203","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.9353456} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8c74b399-55aa-46e2-9482-4923ea50dfb5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.9359148} 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":"ceb8251d65ee1813c90a611675384d26"},"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:38658","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F346e899c-947a-45ae-960b-06bb89f6be49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1bf1d66d-f463-4945-a35c-2ff54a638b07","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841026.9414334} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.369985,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49","object_type":"device","rebac_allow":false,"scope_allow":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":"dd2d1160-f804-11ee-96ad-77028417699d"},"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/346e899c-947a-45ae-960b-06bb89f6be49/signaling 200 16ms","method":"POST","requestID":"dd2d1160-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/346e899c-947a-45ae-960b-06bb89f6be49/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} gateway_1 | {"time_local":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.224","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ceb8251d65ee1813c90a611675384d26"} gateway_1 | {"time_local":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1878","request_time":"2.281","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bf8cd93bdc750c24d7cbdcd8e82a7cf4"} experiment_1 | {"level":"info","message":"DELETE /experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639 204 220ms","method":"DELETE","requestID":"ceb8251d65ee1813c90a611675384d26","responseTime":220,"status":204,"url":"/experiments/9fdceaf8-817b-4b1f-bec6-c89ab86c7639"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"6242389cf2235beef109a0de85e2e6f2","responseTime":158,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"80a5ac68c724def78cbe69549089a3c5","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.166","http_referrer":"","http_user_agent":"node-fetch","requestID":"6242389cf2235beef109a0de85e2e6f2"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"80a5ac68c724def78cbe69549089a3c5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"161d720acf6963d70790d09063b86ca7","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.881","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f03e332b1025f4498bd14abc01b1fb45"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/346e899c-947a-45ae-960b-06bb89f6be49' closed"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.245232,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841027,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0"} 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":"161d720acf6963d70790d09063b86ca7"},"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/c8a6d4ad-2363-40d4-bf49-b7ae2d7ac23d' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ef7a4a2e-7e67-4376-8045-e49382717bf8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.0407338} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161d720acf6963d70790d09063b86ca7"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"30b1ee53-78de-4613-bb34-688bb984d0fb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.0470545} 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":"161d720acf6963d70790d09063b86ca7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"999dcfcc-0bf4-4b86-a3b6-d6025bd4da74","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.0602708} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98e7578e-4f38-4bf9-95da-14b2491a5555","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.0606067} 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":"161d720acf6963d70790d09063b86ca7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"35ceacfa-5169-4e63-9f41-d20f2a609fbd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.0660465} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"161d720acf6963d70790d09063b86ca7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"161d720acf6963d70790d09063b86ca7","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"161d720acf6963d70790d09063b86ca7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7610fdce72bb2cd04229edb0317e8e9d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.926749,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841027,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0"} 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":"7610fdce72bb2cd04229edb0317e8e9d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1c0e5095-2e77-41b5-a9b3-37f8719cdf90","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.095167} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7610fdce72bb2cd04229edb0317e8e9d"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d4cbdea-faae-4f54-a132-63bfe0b99e78","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.100781} 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":"7610fdce72bb2cd04229edb0317e8e9d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"e88f7328-af2a-4f94-aa30-c9887bbd7c50","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.111029} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d9603b-31bc-4be3-88e7-2b3ea5ba00f6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.1111991} 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":"7610fdce72bb2cd04229edb0317e8e9d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.111017267Z"}]},"request_id":"748e2cd0-f4a6-49ac-a5c4-42b9079ce1db","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.1170738} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7610fdce72bb2cd04229edb0317e8e9d"},"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 44ms","method":"POST","requestID":"7610fdce72bb2cd04229edb0317e8e9d","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7610fdce72bb2cd04229edb0317e8e9d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9b36c2a10b48d7cd4903fd4cfcd85804","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.380931,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841027,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b36c2a10b48d7cd4903fd4cfcd85804"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"a08ee21e-517b-4b1e-b271-9d27310ba7a7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.6054766} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b36c2a10b48d7cd4903fd4cfcd85804"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2594080c-c8ed-44ad-bf80-05a4e9da2492","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.6131442} 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":"9b36c2a10b48d7cd4903fd4cfcd85804"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"e37e8118-fab6-4840-baab-98b9138f8df3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841027.6431394} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b36c2a10b48d7cd4903fd4cfcd85804"},"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":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.062","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9b36c2a10b48d7cd4903fd4cfcd85804"} device_1 | {"level":"info","message":"PATCH /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7 200 55ms","method":"PATCH","requestID":"9b36c2a10b48d7cd4903fd4cfcd85804","responseTime":55,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fe5ed19e1d0306418eefdef939285103","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.386588,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841027,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyN30.sP-cteq45z4pKRAybP7tIbGS1hIrRCi7gjOEMngcsp0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe5ed19e1d0306418eefdef939285103"},"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":"11/Apr/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"fe5ed19e1d0306418eefdef939285103"} device_1 | {"level":"info","message":"POST /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/websocket 200 26ms","method":"POST","requestID":"fe5ed19e1d0306418eefdef939285103","responseTime":26,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7' 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":"bc55d3d2567fc0a63abf0bdfc52ab89e","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.006","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bc55d3d2567fc0a63abf0bdfc52ab89e"} device_1 | {"level":"info","message":"OPTIONS /devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket 200 2ms","method":"OPTIONS","requestID":"bc55d3d2567fc0a63abf0bdfc52ab89e","responseTime":2,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"20779870450891b5275bbd26cb80811e","responseTime":9,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.160268,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"20779870450891b5275bbd26cb80811e"},"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":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"20779870450891b5275bbd26cb80811e"} device_1 | {"level":"info","message":"POST /devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket 200 35ms","method":"POST","requestID":"20779870450891b5275bbd26cb80811e","responseTime":35,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e1944108cfdba2d8babf8d3d4aa6ad45","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.266102,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1944108cfdba2d8babf8d3d4aa6ad45"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"58642749-2af2-4f38-8c2e-4054f33c9bc9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.2206366} 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":"e1944108cfdba2d8babf8d3d4aa6ad45"},"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":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1944108cfdba2d8babf8d3d4aa6ad45"} device_1 | {"level":"info","message":"GET /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7? 200 20ms","method":"GET","requestID":"e1944108cfdba2d8babf8d3d4aa6ad45","responseTime":20,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8d8dc6eebe3eb30103b19903cc527a34","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.095635,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d8dc6eebe3eb30103b19903cc527a34"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.111017267Z"}]},"request_id":"931cd412-a39b-40c2-9a1f-38773c050363","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.2521155} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d8dc6eebe3eb30103b19903cc527a34"},"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":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? 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":"8d8dc6eebe3eb30103b19903cc527a34"} device_1 | {"level":"info","message":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? 200 22ms","method":"GET","requestID":"8d8dc6eebe3eb30103b19903cc527a34","responseTime":22,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e5730971fe55e232a302862dd74dfcd6","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:38658","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.212673,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"e5730971fe55e232a302862dd74dfcd6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"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:38658","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692302,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"de9bbc90-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.588245,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"de9c0ab0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"b3ac5538-a604-4d4a-962a-151e4d39602f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.3512933} 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":"de9bbc90-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.111017267Z"}]},"request_id":"24e21584-ffb2-4d5a-ae81-cb560061b67f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.35339} 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":"de9c0ab0-f804-11ee-96ad-77028417699d"},"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/ebbbb1ff-b396-4927-986d-03a577cbb8e7? 200 26ms","method":"GET","requestID":"de9bbc90-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? 200 25ms","method":"GET","requestID":"de9c0ab0-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"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/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.103194,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dea7a370-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.138801,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"dea7ca80-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"588afec8-35ba-4978-aa18-579c08a48b07","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.4324248} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.111017267Z"}]},"request_id":"360add3a-292a-4938-a6d5-bcf06dfca3ec","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.4345884} 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":"dea7a370-f804-11ee-96ad-77028417699d"},"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:48274","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} 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":"dea7ca80-f804-11ee-96ad-77028417699d"},"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:48274","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.578767,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2698f466-ab41-4175-8325-40b61daf0d0b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.4380934} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e1ad8f4-b376-4d32-bc37-30024d677e5c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e1ad8f4-b376-4d32-bc37-30024d677e5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"5d60e951-a923-4ebb-bfa1-bbcab48db2ec","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.443102} device_1 | {"level":"info","message":"GET /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7? 200 30ms","method":"GET","requestID":"dea7a370-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36d2e3e1-f017-46d9-8cc0-358fdad2e623","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.4447865} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? 200 29ms","method":"GET","requestID":"dea7ca80-f804-11ee-96ad-77028417699d","responseTime":29,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 24ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dea818a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":24}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5730971fe55e232a302862dd74dfcd6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} device_1 | {"level":"info","message":"POST /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling 200 35ms","method":"POST","requestID":"dea818a0-f804-11ee-96ad-77028417699d","responseTime":35,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5557e93e-23f1-4098-9d32-11a603e07572","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.455973} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.111105,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","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":"deacd390-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling 200 14ms","method":"POST","requestID":"deacd390-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"e5730971fe55e232a302862dd74dfcd6","responseTime":192,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"565f4347-615f-4442-9725-58a5d6cbb2b9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.46433} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.375103,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5730971fe55e232a302862dd74dfcd6"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","rebac_allow":false,"scope_allow":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":"deae0c10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aa8e9972126b774d87e08d1f69f9bc52","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3acc7c71-91da-4096-be6c-89cf67329e68","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.4731781} device_1 | {"level":"info","message":"POST /devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling 200 16ms","method":"POST","requestID":"deae0c10-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11306,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","rebac_allow":false,"scope_allow":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":"deaf92b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736806,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling 200 11ms","method":"POST","requestID":"deaf92b0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"514f3567-5d01-4a50-9de7-ad4200a967d9"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"de3e53be-9891-48b9-a083-f0dc1c418600"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7224ff6b-2236-4504-89b8-705412d946de"}]},"level":"info","message":"Built pairwise service configurations"} 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":"aa8e9972126b774d87e08d1f69f9bc52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"}],"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.060251745Z"}]},"request_id":"124fb428-3d90-421d-b5c3-3f49df744d6e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.484357} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa8e9972126b774d87e08d1f69f9bc52"},"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:38658","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.751517,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"deb1dca0-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa8e9972126b774d87e08d1f69f9bc52"} device_1 | {"level":"info","message":"GET /devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7? 200 18ms","method":"GET","requestID":"aa8e9972126b774d87e08d1f69f9bc52","responseTime":18,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"db6b23508390929126b883fd896a76f5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"8a8c8106-f6bc-4243-98ff-ff99c1188390","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.5006917} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8cf74d6-3ff3-43c9-b616-f07c45e91502","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.5011668} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.848613,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} 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":"deb1dca0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db6b23508390929126b883fd896a76f5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:27.111017267Z"}]},"request_id":"f55fd047-a98f-4fca-a73c-d0c019fb8337","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.510153} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db6b23508390929126b883fd896a76f5"},"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/5db71966-3d67-497c-ab62-4b8811c27f9a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"deb1dca0-f804-11ee-96ad-77028417699d","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? 200 32ms","method":"GET","requestID":"db6b23508390929126b883fd896a76f5","responseTime":32,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9afb372f-080b-4671-bbd6-f55cc923487e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db6b23508390929126b883fd896a76f5"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b80dcd6e-2a83-434f-a362-206682da285f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.5650306} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43154,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"debdea90-f804-11ee-96ad-77028417699d"},"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/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling 200 9ms","method":"POST","requestID":"debdea90-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a' to 'http://localhost/callbacks/experiment'"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80642949-328b-4c2b-b820-e19587d89473","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.5777845} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.755483,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","rebac_allow":false,"scope_allow":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":"debf9840-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"749ee8f9ccf0c0f69c89f41bb7ba457b","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling 200 14ms","method":"POST","requestID":"debf9840-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"749ee8f9ccf0c0f69c89f41bb7ba457b","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"749ee8f9ccf0c0f69c89f41bb7ba457b"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","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/5db71966-3d67-497c-ab62-4b8811c27f9a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","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":"364126b886c81083a757d9601e699abe","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/9afb372f-080b-4671-bbd6-f55cc923487e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5db71966-3d67-497c-ab62-4b8811c27f9a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1e0b908f-f714-4638-864c-fd4571a816a6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.6516557} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.384916,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a","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":"decb09f0-f804-11ee-96ad-77028417699d"},"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/5db71966-3d67-497c-ab62-4b8811c27f9a 200 9ms","method":"GET","requestID":"decb09f0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 34ms","method":"POST","requestID":"364126b886c81083a757d9601e699abe","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"364126b886c81083a757d9601e699abe"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b817ecf-e6c6-468e-aa3f-e0c0d7248e14","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.6814806} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.601279,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","rebac_allow":false,"scope_allow":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":"decf76c0-f804-11ee-96ad-77028417699d"},"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/9afb372f-080b-4671-bbd6-f55cc923487e/signaling 200 10ms","method":"POST","requestID":"decf76c0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1906f4b5-1bd7-4f41-8551-b116006baf08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.6922023} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.526181,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"ded14b80-f804-11ee-96ad-77028417699d"},"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/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling 200 9ms","method":"POST","requestID":"ded14b80-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3067164e2541e0f17ce7925ff53a58bd","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.032893,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"3067164e2541e0f17ce7925ff53a58bd"},"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/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c 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":"3067164e2541e0f17ce7925ff53a58bd"} experiment_1 | {"level":"info","message":"GET /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c 200 17ms","method":"GET","requestID":"3067164e2541e0f17ce7925ff53a58bd","responseTime":17,"status":200,"url":"/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"38e62e8b616abbcc2ea2a20e0819c3cb","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.253996,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"38e62e8b616abbcc2ea2a20e0819c3cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.934952,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"dede6ae0-f804-11ee-96ad-77028417699d"},"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/5db71966-3d67-497c-ab62-4b8811c27f9a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5db71966-3d67-497c-ab62-4b8811c27f9a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5db71966-3d67-497c-ab62-4b8811c27f9a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"80777aa6-c8b6-4df1-9174-acb5645d3166","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.8029892} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8c9b733-0ddc-49e1-96ed-f5ef5edee4f3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.8037124} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f12651b7acfe95d7cd715701d4945025","responseTime":3,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2f759063c4803a17e965f7880deae502","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/9afb372f-080b-4671-bbd6-f55cc923487e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"}}},"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":"dede6ae0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} 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/9afb372f-080b-4671-bbd6-f55cc923487e"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"5db71966-3d67-497c-ab62-4b8811c27f9a","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/5db71966-3d67-497c-ab62-4b8811c27f9a 204 65ms","method":"DELETE","requestID":"dede6ae0-f804-11ee-96ad-77028417699d","responseTime":65,"status":204,"url":"/peerconnections/5db71966-3d67-497c-ab62-4b8811c27f9a"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9afb372f-080b-4671-bbd6-f55cc923487e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b97ee4ae-717c-4f4d-ab00-e18e7f7296c9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.8766928} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.531539,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e","object_type":"device","rebac_allow":false,"scope_allow":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":"deecc2c0-f804-11ee-96ad-77028417699d"},"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/9afb372f-080b-4671-bbd6-f55cc923487e/signaling 200 18ms","method":"POST","requestID":"deecc2c0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/9afb372f-080b-4671-bbd6-f55cc923487e/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e1ad8f4-b376-4d32-bc37-30024d677e5c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8e1ad8f4-b376-4d32-bc37-30024d677e5c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"40b53342-cffc-4c02-b4e5-fbae48bdb048","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.88792} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4869d7ff-9446-4ce2-a211-72006c5e13d0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.8882668} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38e62e8b616abbcc2ea2a20e0819c3cb"},"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:38658","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Febbbb1ff-b396-4927-986d-03a577cbb8e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06798af5-0064-45df-8dcd-488781a1b08b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.8969443} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.064488,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7","object_type":"device","rebac_allow":false,"scope_allow":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":"deeff710-f804-11ee-96ad-77028417699d"},"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/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling 200 17ms","method":"POST","requestID":"deeff710-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/ebbbb1ff-b396-4927-986d-03a577cbb8e7/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.212","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38e62e8b616abbcc2ea2a20e0819c3cb"} experiment_1 | {"level":"info","message":"DELETE /experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c 204 211ms","method":"DELETE","requestID":"38e62e8b616abbcc2ea2a20e0819c3cb","responseTime":211,"status":204,"url":"/experiments/8e1ad8f4-b376-4d32-bc37-30024d677e5c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1878","request_time":"2.281","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a857b4b1392816c59e9045f8b38b380d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 162ms","method":"POST","requestID":"f12651b7acfe95d7cd715701d4945025","responseTime":162,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.168","http_referrer":"","http_user_agent":"node-fetch","requestID":"f12651b7acfe95d7cd715701d4945025"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"2f759063c4803a17e965f7880deae502","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.169","http_referrer":"","http_user_agent":"node-fetch","requestID":"2f759063c4803a17e965f7880deae502"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cbeca44b79d63e6816d5b168a33e4fcb","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.794","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9a779048f85454b82ed205b85cfecdee"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.866343,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841029,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAyOX0.AMzVdoRjnF-p7tOccl9E2JZf3RPMxMMYCwiRsf-4xBE"} 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":"cbeca44b79d63e6816d5b168a33e4fcb"},"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/ebbbb1ff-b396-4927-986d-03a577cbb8e7' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"467225ca-1806-42cb-98f8-d0dfbeb99395","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.9940178} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbeca44b79d63e6816d5b168a33e4fcb"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fba4a8d-2aeb-4386-9a2e-dbc9c508c7bc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841029.999874} 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":"cbeca44b79d63e6816d5b168a33e4fcb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9afb372f-080b-4671-bbd6-f55cc923487e' closed"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"9b2dfc73-de19-4d41-886f-1a5b9f80da0d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0107994} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"23c2c47e-b037-45bb-8c1d-7c51b07e325c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.011085} 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":"cbeca44b79d63e6816d5b168a33e4fcb"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"2536b8f0-1373-4678-838f-ded1f7ad07ae","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0160239} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbeca44b79d63e6816d5b168a33e4fcb"},"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":"cbeca44b79d63e6816d5b168a33e4fcb","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cbeca44b79d63e6816d5b168a33e4fcb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edc49a125af25fa813eb0f877f54ec28","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.754162,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"edc49a125af25fa813eb0f877f54ec28"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"33fb7501-9dfd-4984-a654-e7baff4ce69b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0409074} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edc49a125af25fa813eb0f877f54ec28"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53d746d5-6c79-4f29-981c-7242f1e327f5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0461516} 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":"edc49a125af25fa813eb0f877f54ec28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"9d2a5fd2-09eb-44c6-82a3-707ee187de71","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0567338} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0e60ed7-7033-44b2-8df8-9762ac408bc8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0569444} 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":"edc49a125af25fa813eb0f877f54ec28"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"82063b94-31fb-4692-8555-0a26f2aa0e25","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.0614388} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edc49a125af25fa813eb0f877f54ec28"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"edc49a125af25fa813eb0f877f54ec28","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"edc49a125af25fa813eb0f877f54ec28"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"147c0f3d166fc33e96de7e495ee62711","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906392,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"147c0f3d166fc33e96de7e495ee62711"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"6b45727c-7735-4105-a8da-019d369cd2ad","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.531627} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"147c0f3d166fc33e96de7e495ee62711"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07a78281-755c-4439-bbad-d67f9c19abf2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.5375588} 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":"147c0f3d166fc33e96de7e495ee62711"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc502d2cfd7cee68ffb643a8a5ab9207","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.692188,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc502d2cfd7cee68ffb643a8a5ab9207"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"39d618ba-823a-4676-8810-2c5b6984b6ac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.5497491} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"147c0f3d166fc33e96de7e495ee62711"},"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":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/e17fdd11-0f0e-469d-957e-f54393f2e918 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.034","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"147c0f3d166fc33e96de7e495ee62711"} device_1 | {"level":"info","message":"PATCH /devices/e17fdd11-0f0e-469d-957e-f54393f2e918 200 31ms","method":"PATCH","requestID":"147c0f3d166fc33e96de7e495ee62711","responseTime":31,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"848f0290-ab2a-4bd7-ad8f-283232f80377","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.553335} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc502d2cfd7cee68ffb643a8a5ab9207"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"423971f5127858d1e3dfb5b2b91d7904","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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"387c9164-16ac-4cce-9ca8-bc6122915e6e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.5600908} 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":"dc502d2cfd7cee68ffb643a8a5ab9207"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907335,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"423971f5127858d1e3dfb5b2b91d7904"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"2896b4c1-1746-4a44-b018-be1e58d74d3f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.570382} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc502d2cfd7cee68ffb643a8a5ab9207"},"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":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.037","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dc502d2cfd7cee68ffb643a8a5ab9207"} device_1 | {"level":"info","message":"PATCH /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76 200 32ms","method":"PATCH","requestID":"dc502d2cfd7cee68ffb643a8a5ab9207","responseTime":32,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e17fdd11-0f0e-469d-957e-f54393f2e918/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"423971f5127858d1e3dfb5b2b91d7904"} device_1 | {"level":"info","message":"POST /devices/e17fdd11-0f0e-469d-957e-f54393f2e918/websocket 200 19ms","method":"POST","requestID":"423971f5127858d1e3dfb5b2b91d7904","responseTime":19,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/websocket"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9686028c6bb11b345c7de95a69fec28f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.762666,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"9686028c6bb11b345c7de95a69fec28f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9686028c6bb11b345c7de95a69fec28f"} device_1 | {"level":"info","message":"POST /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/websocket 200 24ms","method":"POST","requestID":"9686028c6bb11b345c7de95a69fec28f","responseTime":24,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9f8ff02c8bf8e72bb9414c5060e1c32f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178951,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f8ff02c8bf8e72bb9414c5060e1c32f"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"bed68b55-1ff5-4cc6-bedd-80b151072316","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.6282337} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f8ff02c8bf8e72bb9414c5060e1c32f"},"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":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e17fdd11-0f0e-469d-957e-f54393f2e918? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f8ff02c8bf8e72bb9414c5060e1c32f"} device_1 | {"level":"info","message":"GET /devices/e17fdd11-0f0e-469d-957e-f54393f2e918? 200 14ms","method":"GET","requestID":"9f8ff02c8bf8e72bb9414c5060e1c32f","responseTime":14,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a289709f3cd5770255ee37b0506de88e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719717,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a289709f3cd5770255ee37b0506de88e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"78872f0c-b541-47c8-9c1c-55663d4abb2a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.6502361} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a289709f3cd5770255ee37b0506de88e"},"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/ff41eaad-d2b9-4453-a766-11dc5d27ab76? 200 15ms","method":"GET","requestID":"a289709f3cd5770255ee37b0506de88e","responseTime":15,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a289709f3cd5770255ee37b0506de88e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4046e7986ce78560f706e4963eb7aad5","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:38658","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.791018,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"4046e7986ce78560f706e4963eb7aad5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"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:38658","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.634103,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"df6e27c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.926544,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df6e75e0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"bb0a5533-811f-40af-8d53-8d3b4a88d471","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.7253077} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df6e27c0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"69dcd83b-8123-41ea-b84d-0d7972d9522f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.7261078} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df6e75e0-f804-11ee-96ad-77028417699d"},"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/e17fdd11-0f0e-469d-957e-f54393f2e918? 200 18ms","method":"GET","requestID":"df6e27c0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76? 200 17ms","method":"GET","requestID":"df6e75e0-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"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:38658","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":8.026591,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.138766,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df7ad1f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"df7b4720-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.058589,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1bbd3c7-c91a-44f7-8036-6930e405b274","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8148642} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","rebac_allow":false,"scope_allow":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":"df7bbc50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"0ea75074-8bfe-4d86-91fc-fa02d6a6f272","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8250282} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df7ad1f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"a437bb93-95c6-4e59-9cee-b0368c7cd3c6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8291543} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df7b4720-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"POST /devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling 200 27ms","method":"POST","requestID":"df7bbc50-f804-11ee-96ad-77028417699d","responseTime":27,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19a7e034-9f26-4276-81f5-d23f6cf8631a#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19a7e034-9f26-4276-81f5-d23f6cf8631a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a69787f0-bafe-4045-82de-44ce05be482a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8308692} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e17fdd11-0f0e-469d-957e-f54393f2e918? 200 34ms","method":"GET","requestID":"df7ad1f0-f804-11ee-96ad-77028417699d","responseTime":34,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5be36ab9-ae22-4608-a198-605587228094","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8344424} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4046e7986ce78560f706e4963eb7aad5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76? 200 36ms","method":"GET","requestID":"df7b4720-f804-11ee-96ad-77028417699d","responseTime":36,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"74cd2338-3473-4919-af8f-369af7c0cf2e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8404195} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.308039,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","rebac_allow":false,"scope_allow":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":"df805030-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 184ms","method":"POST","requestID":"4046e7986ce78560f706e4963eb7aad5","responseTime":184,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling 200 12ms","method":"POST","requestID":"df805030-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"01fab50f-8c81-47f4-95a5-faee96eb4aff","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8470247} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.616925,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4046e7986ce78560f706e4963eb7aad5"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","rebac_allow":false,"scope_allow":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":"df8161a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling 200 11ms","method":"POST","requestID":"df8161a0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"261b8607136a36893406576ff55ec69d","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:38658","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927307,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"261b8607136a36893406576ff55ec69d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14368a62-9e64-46e8-8eec-5411ead291a0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8592966} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.460321,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","rebac_allow":false,"scope_allow":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":"df835d70-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.010784479Z"}]},"request_id":"11232214-ce83-4c3e-bb64-80c51c8fc0f3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8645768} device_1 | {"level":"info","message":"POST /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling 200 10ms","method":"POST","requestID":"df835d70-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Building 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":"261b8607136a36893406576ff55ec69d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"a632fb41-c8d1-4949-94d4-b270caf8d35e"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"1c9a45b7-bf47-4876-be34-573134df2665"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ed4f4c7a-612d-4135-93aa-239554ebff47"}]},"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/ff41eaad-d2b9-4453-a766-11dc5d27ab76"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"}],"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":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e17fdd11-0f0e-469d-957e-f54393f2e918? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"261b8607136a36893406576ff55ec69d"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} device_1 | {"level":"info","message":"GET /devices/e17fdd11-0f0e-469d-957e-f54393f2e918? 200 17ms","method":"GET","requestID":"261b8607136a36893406576ff55ec69d","responseTime":17,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.974638,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"df853230-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e6bbb85fcd78fabd56f5cd6ab5560b46","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.618568,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841030,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMH0.ERXjodeVptcK3Adm-88-7GlVpUxsIoKbzdHzBeoQUBg"} 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":"e6bbb85fcd78fabd56f5cd6ab5560b46"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"811d0b0d-5b87-4657-9077-52fff9ce8230","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8823621} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2aaa5aa5-95f4-48b2-82ff-668c2875ccf1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8825982} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:30.056722727Z"}]},"request_id":"2d3e319e-cac5-4705-bd83-a4e6ba2a40e7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.8833568} 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":"df853230-f804-11ee-96ad-77028417699d"},"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":"e6bbb85fcd78fabd56f5cd6ab5560b46"},"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":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6bbb85fcd78fabd56f5cd6ab5560b46"} device_1 | {"level":"info","message":"GET /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76? 200 14ms","method":"GET","requestID":"e6bbb85fcd78fabd56f5cd6ab5560b46","responseTime":14,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76?"} 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/ae7411a5-8355-400a-99cb-b46f9bcbfeea'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 35ms","method":"POST","requestID":"df853230-f804-11ee-96ad-77028417699d","responseTime":35,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5bc0fd2f-8a59-4482-8f3c-c7198f8ac8d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.9385078} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.949318,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} 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":"df8f4450-f804-11ee-96ad-77028417699d"},"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 0ms","method":"GET","requestID":"020af81ce0012d7184cc66d9b6d396f5","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling 200 15ms","method":"POST","requestID":"df8f4450-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"020af81ce0012d7184cc66d9b6d396f5","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"020af81ce0012d7184cc66d9b6d396f5"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f8d7671-2ff1-4763-99bd-072bc4f6c893","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.9566443} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.670129,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","rebac_allow":false,"scope_allow":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":"df920370-f804-11ee-96ad-77028417699d"},"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/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling 200 15ms","method":"POST","requestID":"df920370-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","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/ae7411a5-8355-400a-99cb-b46f9bcbfeea' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","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":"08c3c22e0a17ab67d382396cd5373899","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/ff41eaad-d2b9-4453-a766-11dc5d27ab76"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae7411a5-8355-400a-99cb-b46f9bcbfeea","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50744a27-1ac3-43c7-943f-69cbc977fa89","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841030.9971416} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.124788,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea","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":"df986c10-f804-11ee-96ad-77028417699d"},"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/ae7411a5-8355-400a-99cb-b46f9bcbfeea 200 8ms","method":"GET","requestID":"df986c10-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"08c3c22e0a17ab67d382396cd5373899","responseTime":29,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"08c3c22e0a17ab67d382396cd5373899"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"63cdc638-f7b9-4a34-9694-f7f6293cd758","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.021617} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.046536,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","rebac_allow":false,"scope_allow":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":"df9c1590-f804-11ee-96ad-77028417699d"},"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/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling 200 9ms","method":"POST","requestID":"df9c1590-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2455cc5e-f05f-40ac-8d45-0995e2f5538c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.0337574} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.438627,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","rebac_allow":false,"scope_allow":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":"df9dc340-f804-11ee-96ad-77028417699d"},"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/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling 200 10ms","method":"POST","requestID":"df9dc340-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f2aabbf250509c093f97190300bed966","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.212148,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"f2aabbf250509c093f97190300bed966"},"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/19a7e034-9f26-4276-81f5-d23f6cf8631a"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a 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":"f2aabbf250509c093f97190300bed966"} experiment_1 | {"level":"info","message":"GET /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a 200 20ms","method":"GET","requestID":"f2aabbf250509c093f97190300bed966","responseTime":20,"status":200,"url":"/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"956b7d2dafbe586c970d5fb85d3b2cdb","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.175185,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"956b7d2dafbe586c970d5fb85d3b2cdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.35155,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"dfad2c90-f804-11ee-96ad-77028417699d"},"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/ae7411a5-8355-400a-99cb-b46f9bcbfeea' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","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":"ff5534272a37ad3e650a7ee75d307c6c","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae7411a5-8355-400a-99cb-b46f9bcbfeea': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fae7411a5-8355-400a-99cb-b46f9bcbfeea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"aad417ca-9943-4cfd-a286-4ac456a48752","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.1586096} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d69c8a5d8005cec156f6c8688052bd93","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c307daf-66e7-416b-87c9-b438000794c0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.1590564} 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/ff41eaad-d2b9-4453-a766-11dc5d27ab76"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"}}},"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":"dfad2c90-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"data":{"peerconnection":"ae7411a5-8355-400a-99cb-b46f9bcbfeea","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/ae7411a5-8355-400a-99cb-b46f9bcbfeea 204 68ms","method":"DELETE","requestID":"dfad2c90-f804-11ee-96ad-77028417699d","responseTime":68,"status":204,"url":"/peerconnections/ae7411a5-8355-400a-99cb-b46f9bcbfeea"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff41eaad-d2b9-4453-a766-11dc5d27ab76","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d6dd24f-e383-4b9a-8c4c-5f8fc9f67978","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.2354693} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.366039,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76","object_type":"device","rebac_allow":false,"scope_allow":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":"dfbbd290-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling 200 18ms","method":"POST","requestID":"dfbbd290-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19a7e034-9f26-4276-81f5-d23f6cf8631a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F19a7e034-9f26-4276-81f5-d23f6cf8631a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"dc16c871-2b8d-44e2-b542-92a3259c74ef","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.2482777} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8379760c-c164-4b0b-930f-2c30c9b87127","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.2486722} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} 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":"956b7d2dafbe586c970d5fb85d3b2cdb"},"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:38658","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.616438,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe17fdd11-0f0e-469d-957e-f54393f2e918","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6412018-3ba2-4451-85ab-603b8614f429","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.252792} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918","object_type":"device","rebac_allow":false,"scope_allow":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":"dfbf06e0-f804-11ee-96ad-77028417699d"},"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/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling 200 12ms","method":"POST","requestID":"dfbf06e0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/e17fdd11-0f0e-469d-957e-f54393f2e918/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"956b7d2dafbe586c970d5fb85d3b2cdb"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.712","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"65facda4d8f36e897f92c122a1aa6c1a"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1960","request_time":"0.737","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"642353cfc06844ce74c198d96b8e13bf"} experiment_1 | {"level":"info","message":"DELETE /experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a 204 207ms","method":"DELETE","requestID":"956b7d2dafbe586c970d5fb85d3b2cdb","responseTime":207,"status":204,"url":"/experiments/19a7e034-9f26-4276-81f5-d23f6cf8631a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 160ms","method":"POST","requestID":"ff5534272a37ad3e650a7ee75d307c6c","responseTime":160,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff5534272a37ad3e650a7ee75d307c6c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 158ms","method":"POST","requestID":"d69c8a5d8005cec156f6c8688052bd93","responseTime":158,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch","requestID":"d69c8a5d8005cec156f6c8688052bd93"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ff41eaad-d2b9-4453-a766-11dc5d27ab76' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b29642a513b740d1d5171ff05a04d6e6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.071511,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e17fdd11-0f0e-469d-957e-f54393f2e918' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"b29642a513b740d1d5171ff05a04d6e6"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa895a4ca-e22d-4357-af78-14fbf18f863a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a101789-f8ad-44bb-a0bf-d705347cd7e1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.3452618} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29642a513b740d1d5171ff05a04d6e6"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"095e1d06-a84c-48c5-85cb-1ef7b812b26a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.3526149} 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":"b29642a513b740d1d5171ff05a04d6e6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa895a4ca-e22d-4357-af78-14fbf18f863a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"4cf68b88-e7b4-4dcd-b51e-efea62dce838","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.363876} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9e1b508-3795-483b-97f7-d9a2528cdecd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.3640578} 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":"b29642a513b740d1d5171ff05a04d6e6"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa895a4ca-e22d-4357-af78-14fbf18f863a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa895a4ca-e22d-4357-af78-14fbf18f863a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.363858684Z"}]},"request_id":"caf51b62-53a0-4a06-9b5c-3a07ce1d0f9d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.370951} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b29642a513b740d1d5171ff05a04d6e6"},"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 49ms","method":"POST","requestID":"b29642a513b740d1d5171ff05a04d6e6","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b29642a513b740d1d5171ff05a04d6e6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1b405e61d1b62cc77f4a4d2503005b8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811055,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"e1b405e61d1b62cc77f4a4d2503005b8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5e80828-9aa3-49c1-a669-e6a0159afd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e4616660-e873-4eef-beef-11126fe5d4d0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4016213} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1b405e61d1b62cc77f4a4d2503005b8"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25f389b2-d6e1-4b41-9ca6-1c64f51eab73","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.40804} 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":"e1b405e61d1b62cc77f4a4d2503005b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5e80828-9aa3-49c1-a669-e6a0159afd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"116e0927-74da-4c9b-b57e-b20f173de24c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.418919} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c45a7222-ab1a-4d88-8571-80fda1376653","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4190311} 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":"e1b405e61d1b62cc77f4a4d2503005b8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5e80828-9aa3-49c1-a669-e6a0159afd0b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe5e80828-9aa3-49c1-a669-e6a0159afd0b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.418904760Z"}]},"request_id":"46f63ccf-ca93-48c6-bbd5-fda64e47ab92","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4251785} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1b405e61d1b62cc77f4a4d2503005b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"e1b405e61d1b62cc77f4a4d2503005b8","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1b405e61d1b62cc77f4a4d2503005b8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40878bca53620bb680ea4dab764e045c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.964069,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"40878bca53620bb680ea4dab764e045c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9f97e83-8c65-47fa-8ac4-0c10eb418743","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d92fa456-b877-4e5e-ba90-96551f1e05aa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4517171} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40878bca53620bb680ea4dab764e045c"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4544d05e-1bc7-4579-b999-0c760d3ab04c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4560711} 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":"40878bca53620bb680ea4dab764e045c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9f97e83-8c65-47fa-8ac4-0c10eb418743","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"181e38fc-4bf1-404d-a647-bc46ba873ead","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4660733} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3da090e0-9706-4cad-97be-37a9fc30b4f0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4663043} 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":"40878bca53620bb680ea4dab764e045c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9f97e83-8c65-47fa-8ac4-0c10eb418743","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa9f97e83-8c65-47fa-8ac4-0c10eb418743","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.466060092Z"}]},"request_id":"be8657fa-bad9-4ad3-9d15-0729820eb5fc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4708042} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40878bca53620bb680ea4dab764e045c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"40878bca53620bb680ea4dab764e045c","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40878bca53620bb680ea4dab764e045c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e2ed794cc71650f61e0f9d554c63632","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.655921,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"3e2ed794cc71650f61e0f9d554c63632"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a490078-c089-4b20-9533-61624cd75faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"09ae2f4f-ab91-40a4-9f2e-50ad59f792bc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.4973567} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2ed794cc71650f61e0f9d554c63632"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d7e5e0c-1cd6-4aa5-a60e-ca547ef21c68","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5030417} 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":"3e2ed794cc71650f61e0f9d554c63632"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a490078-c089-4b20-9533-61624cd75faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"914c6cf6-f328-4098-9e2e-42504b53689e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5154169} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ad3eacb7-85d4-43f7-94bd-b0ff734db763","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5156596} 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":"3e2ed794cc71650f61e0f9d554c63632"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a490078-c089-4b20-9533-61624cd75faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5a490078-c089-4b20-9533-61624cd75faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.515398992Z"}]},"request_id":"bb7f989c-042a-4148-a2b4-e459923f5446","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5208588} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e2ed794cc71650f61e0f9d554c63632"},"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":"3e2ed794cc71650f61e0f9d554c63632","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e2ed794cc71650f61e0f9d554c63632"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3451133dcaebf0d2bd5b003ef1693752","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.858997,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"3451133dcaebf0d2bd5b003ef1693752"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4278b060-31a0-4658-866d-61e6e40d595e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1f3bd415-2d84-4249-b4e6-59749bce40c3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.55306} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3451133dcaebf0d2bd5b003ef1693752"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f7528d9-4c59-4e14-bfb7-2692c6df5fb4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5594} 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":"3451133dcaebf0d2bd5b003ef1693752"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4278b060-31a0-4658-866d-61e6e40d595e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"43acdfd6-56bb-48b8-bde2-1ec5c7cc19bf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5713716} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"499c2911-a3a7-4e8a-b57f-b97ab4b6d6b6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5717185} 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":"3451133dcaebf0d2bd5b003ef1693752"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4278b060-31a0-4658-866d-61e6e40d595e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4278b060-31a0-4658-866d-61e6e40d595e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.571359985Z"}]},"request_id":"9c5b402a-04d8-4f9c-8f10-4c715546637f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.5795472} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3451133dcaebf0d2bd5b003ef1693752"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"3451133dcaebf0d2bd5b003ef1693752","responseTime":53,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3451133dcaebf0d2bd5b003ef1693752"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d208795986fbd5322afab4bc6cf8f3f0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.687854,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"d208795986fbd5322afab4bc6cf8f3f0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6c973ca8-8bdb-4fdf-a7e5-2fa9125b7a36","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.6166852} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d208795986fbd5322afab4bc6cf8f3f0"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd9bda5b-e982-4eec-90f8-53c4f2a635cb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.6244442} 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":"d208795986fbd5322afab4bc6cf8f3f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"24a40cd4-a829-4611-a385-0226740c849c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.637992} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c9c88e49-e945-406c-bb96-c9db036f096b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.638203} 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":"d208795986fbd5322afab4bc6cf8f3f0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Feeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.637978642Z"}]},"request_id":"97cf4ffc-4abe-4dbe-84bb-4d5bafca144c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.644217} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d208795986fbd5322afab4bc6cf8f3f0"},"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 56ms","method":"POST","requestID":"d208795986fbd5322afab4bc6cf8f3f0","responseTime":56,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d208795986fbd5322afab4bc6cf8f3f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"56971a0d69275f85d2069ea97f85d046","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.239447,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"56971a0d69275f85d2069ea97f85d046"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841ddbf2-2ec4-4896-bfa0-05e86746e358","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b1a99ffa-b559-4a34-b0e8-150d389bfdcf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.681964} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56971a0d69275f85d2069ea97f85d046"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ecd140f-aa26-4128-940d-99ff20845f39","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.6896493} 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":"56971a0d69275f85d2069ea97f85d046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841ddbf2-2ec4-4896-bfa0-05e86746e358","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"268e68f7-0983-432d-84cd-6660a242c14e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.6998465} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"976985d5-3391-4384-bde5-ae1756debd74","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.700232} 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":"56971a0d69275f85d2069ea97f85d046"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841ddbf2-2ec4-4896-bfa0-05e86746e358","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F841ddbf2-2ec4-4896-bfa0-05e86746e358","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.699817067Z"}]},"request_id":"d564c218-3662-47c8-ba09-019828bbd328","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.705058} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56971a0d69275f85d2069ea97f85d046"},"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 50ms","method":"POST","requestID":"56971a0d69275f85d2069ea97f85d046","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56971a0d69275f85d2069ea97f85d046"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba7318d3348dd1c75e27f35f88aa2379","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.633448,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"ba7318d3348dd1c75e27f35f88aa2379"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc66cd855-e0bc-4af4-9163-824f1e5e870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c78abcff-ccf0-41b7-8c2f-94e6cdff71c5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.7374115} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba7318d3348dd1c75e27f35f88aa2379"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77d57b36-1a01-41ef-b288-d2129c9730ea","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.7432163} 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":"ba7318d3348dd1c75e27f35f88aa2379"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc66cd855-e0bc-4af4-9163-824f1e5e870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3e67c09f-6a20-4f34-940b-2ef8ca2dd7b5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.7549} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd8d96d5-5318-4727-81c5-39ee9d9e8550","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.7552514} 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":"ba7318d3348dd1c75e27f35f88aa2379"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc66cd855-e0bc-4af4-9163-824f1e5e870b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc66cd855-e0bc-4af4-9163-824f1e5e870b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.754876005Z"}]},"request_id":"d59ae2c0-1327-4de7-9be0-46ad9147a5b5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.761944} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba7318d3348dd1c75e27f35f88aa2379"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"ba7318d3348dd1c75e27f35f88aa2379","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba7318d3348dd1c75e27f35f88aa2379"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a124aca8edfcb8f526c5bb84c7ff9ec8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.160667,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"a124aca8edfcb8f526c5bb84c7ff9ec8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44506f19-9403-4551-bbcd-9efe9721be09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0240e0f3-a25f-4445-9cc2-21b267ef8ac8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.7979476} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a124aca8edfcb8f526c5bb84c7ff9ec8"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39cfe4de-fcb0-4df3-b24e-d5465439bf21","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8061807} 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":"a124aca8edfcb8f526c5bb84c7ff9ec8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44506f19-9403-4551-bbcd-9efe9721be09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"ebf4a196-c922-42a3-8a09-652480520fc6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.817637} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"78678cbc-07cb-43b9-bad1-f8b1c8864f64","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8179135} 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":"a124aca8edfcb8f526c5bb84c7ff9ec8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44506f19-9403-4551-bbcd-9efe9721be09","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44506f19-9403-4551-bbcd-9efe9721be09","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.817612971Z"}]},"request_id":"0bf8a447-fbae-4e61-bb7f-2cd149107e9c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8250713} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a124aca8edfcb8f526c5bb84c7ff9ec8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 54ms","method":"POST","requestID":"a124aca8edfcb8f526c5bb84c7ff9ec8","responseTime":54,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a124aca8edfcb8f526c5bb84c7ff9ec8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6bb713dfccddfe60cd827fb8eb4789e2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.189893,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"6bb713dfccddfe60cd827fb8eb4789e2"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b69c8d-371f-4894-9015-06477538c416","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3801a1d3-1fcd-4d7e-a923-a47e853d27da","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8610709} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bb713dfccddfe60cd827fb8eb4789e2"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01e870b0-cf02-4e68-a126-5b9c78cf68a2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8681772} 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":"6bb713dfccddfe60cd827fb8eb4789e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b69c8d-371f-4894-9015-06477538c416","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f87ba3c4-e4cf-486d-afe5-ad050c1d2753","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.8799763} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd6642f7-d9c3-4bca-b3d3-ea30d08a9ee9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.880251} 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":"6bb713dfccddfe60cd827fb8eb4789e2"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b69c8d-371f-4894-9015-06477538c416","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F71b69c8d-371f-4894-9015-06477538c416","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.879958948Z"}]},"request_id":"6ea106f4-7c17-4d3d-8183-bef33dcbbb75","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.887238} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bb713dfccddfe60cd827fb8eb4789e2"},"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":"6bb713dfccddfe60cd827fb8eb4789e2","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6bb713dfccddfe60cd827fb8eb4789e2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e9e11bbaf9bf5bd73d7eebc15db8c0a0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.893573,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aab8f3e4-1fdb-4770-8d92-06daf308d648","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.9300904} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbf414cd-2b81-4c11-a93f-c7ea7ca49829","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.9377766} 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":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f59a8670-776c-4b6c-b14d-f2f38a57973a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.948371} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"02f62e27-0a89-4a06-96e0-402e79a990aa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.9485013} 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":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.948351712Z"}]},"request_id":"e72560b7-6c51-4c1d-9e87-388e84fc3708","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841031.9554589} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 60ms","method":"POST","requestID":"e9e11bbaf9bf5bd73d7eebc15db8c0a0","responseTime":60,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e9e11bbaf9bf5bd73d7eebc15db8c0a0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"367e5292f2a4985ff0758ffb879e1ff9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.29217,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841031,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMX0.Ykto6eiyxoUVrO2EepEqNgBGXYthvZwpMQfRjDMWXSM"} 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":"367e5292f2a4985ff0758ffb879e1ff9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6a0cd0ac-1de7-4aa1-a414-0f243c781ff3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.002351} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"367e5292f2a4985ff0758ffb879e1ff9"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"31e3daca-be31-4f43-bafe-d06069e887f1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0117435} 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":"367e5292f2a4985ff0758ffb879e1ff9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"31e91bfb-a407-4595-b339-d831c94cd9cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0225506} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9cf90313-13fd-450e-9945-ea02fc947eb4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0226722} 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":"367e5292f2a4985ff0758ffb879e1ff9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.022530707Z"}]},"request_id":"50ab81ab-96da-4178-8e36-d798709e981f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0289078} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"367e5292f2a4985ff0758ffb879e1ff9"},"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 60ms","method":"POST","requestID":"367e5292f2a4985ff0758ffb879e1ff9","responseTime":60,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"367e5292f2a4985ff0758ffb879e1ff9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2467a6ce3b61d7e86f0f093bc83c3206","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.765791,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"2467a6ce3b61d7e86f0f093bc83c3206"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a7ab3794-f982-4319-ae18-5acaee0bffb6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0656757} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2467a6ce3b61d7e86f0f093bc83c3206"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d702697-992b-4a69-ae31-60f12bf08cf6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0728405} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2467a6ce3b61d7e86f0f093bc83c3206"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"1c9217ac-5a17-47cc-aafb-f81bb2f649e3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.083633} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a885aa2-28a5-488f-820d-4faf6246d50f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.083839} 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":"2467a6ce3b61d7e86f0f093bc83c3206"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.083613326Z"}]},"request_id":"6420088c-3837-47f4-a093-4effc0318927","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.0895526} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2467a6ce3b61d7e86f0f093bc83c3206"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"2467a6ce3b61d7e86f0f093bc83c3206","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2467a6ce3b61d7e86f0f093bc83c3206"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ba081d8843a15e6f1c34280039e77973","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.321033,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba081d8843a15e6f1c34280039e77973"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.948351712Z"}]},"request_id":"904a9eff-025e-4788-bf7f-a1c5fd69c5c1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.118467} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba081d8843a15e6f1c34280039e77973"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a8a0c9b-8802-49fd-a036-58882e0ec6e9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.1251636} 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":"ba081d8843a15e6f1c34280039e77973"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.948351712Z"}]},"request_id":"0fe48860-b76d-4df6-81db-a518a1331219","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.135971} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba081d8843a15e6f1c34280039e77973"},"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/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76? 200 35ms","method":"PATCH","requestID":"ba081d8843a15e6f1c34280039e77973","responseTime":35,"status":200,"url":"/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76? 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":"ba081d8843a15e6f1c34280039e77973"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b58bec675a97f065baab478d187caa7e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658727,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58bec675a97f065baab478d187caa7e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.022530707Z"}]},"request_id":"99aee850-3e9c-4918-9e4b-8bb0fde98461","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.1640844} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58bec675a97f065baab478d187caa7e"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"400fcddb-f646-47d6-8b1a-6091ed4f34b4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.1719902} 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":"b58bec675a97f065baab478d187caa7e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.022530707Z"}]},"request_id":"dcd4de96-4c07-434b-8df9-be8b9e9d1368","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.1817415} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b58bec675a97f065baab478d187caa7e"},"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/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5? 200 37ms","method":"PATCH","requestID":"b58bec675a97f065baab478d187caa7e","responseTime":37,"status":200,"url":"/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b58bec675a97f065baab478d187caa7e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9e35ab50b19634d51bad0679dbe301d6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.434162,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e35ab50b19634d51bad0679dbe301d6"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.083613326Z"}]},"request_id":"bcdb7bcd-770b-401f-917b-22a15e01d922","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.2096715} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e35ab50b19634d51bad0679dbe301d6"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4dc4d698-813b-46d6-bdbf-6b8434004aa4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.2178628} 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":"9e35ab50b19634d51bad0679dbe301d6"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.083613326Z"}]},"request_id":"c7d36698-9a10-43be-b380-6535412f87cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.229719} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9e35ab50b19634d51bad0679dbe301d6"},"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/2b652cbd-f201-493d-a263-c171f91afe7e? 200 39ms","method":"PATCH","requestID":"9e35ab50b19634d51bad0679dbe301d6","responseTime":39,"status":200,"url":"/devices/2b652cbd-f201-493d-a263-c171f91afe7e?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/2b652cbd-f201-493d-a263-c171f91afe7e? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9e35ab50b19634d51bad0679dbe301d6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"81113e53a7ba7533d364a73c28ac76c4","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.341638,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"81113e53a7ba7533d364a73c28ac76c4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:31.948351712Z"}]},"request_id":"f5cb1448-272f-43b1-851d-fbe4bfdd1e2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.2593665} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81113e53a7ba7533d364a73c28ac76c4"},"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:38658","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.117246,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.20378,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.954785,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a895a4ca-e22d-4357-af78-14fbf18f863a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a895a4ca-e22d-4357-af78-14fbf18f863a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"81113e53a7ba7533d364a73c28ac76c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a9f97e83-8c65-47fa-8ac4-0c10eb418743","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a9f97e83-8c65-47fa-8ac4-0c10eb418743","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"81113e53a7ba7533d364a73c28ac76c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e5e80828-9aa3-49c1-a669-e6a0159afd0b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e5e80828-9aa3-49c1-a669-e6a0159afd0b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"81113e53a7ba7533d364a73c28ac76c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":14}} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320093,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 16ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81113e53a7ba7533d364a73c28ac76c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81113e53a7ba7533d364a73c28ac76c4"} device_1 | {"level":"info","message":"GET /devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76? 200 48ms","method":"GET","requestID":"81113e53a7ba7533d364a73c28ac76c4","responseTime":48,"status":200,"url":"/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"88754be2759c62ac5b67c3abe73792f3","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.780795,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffdf3f6a7-0d1d-4664-a6af-bff0455eb0b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.022530707Z"}]},"request_id":"8a9c6d76-6f3f-427f-afb6-d8d2174f89dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.308907} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88754be2759c62ac5b67c3abe73792f3"},"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:38658","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.641057,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.778418,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.596606,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.775068,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5a490078-c089-4b20-9533-61624cd75faf","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5a490078-c089-4b20-9533-61624cd75faf","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4278b060-31a0-4658-866d-61e6e40d595e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4278b060-31a0-4658-866d-61e6e40d595e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/eeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/eeebdaa4-22c2-4e2d-bf6a-e2b11e2da38f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/841ddbf2-2ec4-4896-bfa0-05e86746e358","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/841ddbf2-2ec4-4896-bfa0-05e86746e358","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:38578","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38568","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38578","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216856,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38568","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178573,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"88754be2759c62ac5b67c3abe73792f3"},"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/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 15ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88754be2759c62ac5b67c3abe73792f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":15}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88754be2759c62ac5b67c3abe73792f3"} device_1 | {"level":"info","message":"GET /devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5? 200 39ms","method":"GET","requestID":"88754be2759c62ac5b67c3abe73792f3","responseTime":39,"status":200,"url":"/devices/fdf3f6a7-0d1d-4664-a6af-bff0455eb0b5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d1a5821904f97bc4e0e87dababb6ff7c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917733,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b652cbd-f201-493d-a263-c171f91afe7e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"d1a5821904f97bc4e0e87dababb6ff7c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b652cbd-f201-493d-a263-c171f91afe7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.083613326Z"}]},"request_id":"c59724e3-2dc5-4b68-bdd2-a0533ea7abed","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.352211} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a5821904f97bc4e0e87dababb6ff7c"},"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:38658","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789541,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.648344,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48274","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.679552,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c66cd855-e0bc-4af4-9163-824f1e5e870b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/c66cd855-e0bc-4af4-9163-824f1e5e870b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"d1a5821904f97bc4e0e87dababb6ff7c"},"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/44506f19-9403-4551-bbcd-9efe9721be09","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/44506f19-9403-4551-bbcd-9efe9721be09","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d1a5821904f97bc4e0e87dababb6ff7c"},"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/71b69c8d-371f-4894-9015-06477538c416","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/71b69c8d-371f-4894-9015-06477538c416","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"d1a5821904f97bc4e0e87dababb6ff7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38552","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.872983,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/38ec12f0-e52c-4b85-9ea0-7f95ecce3e76","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"d1a5821904f97bc4e0e87dababb6ff7c"},"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":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b652cbd-f201-493d-a263-c171f91afe7e? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d1a5821904f97bc4e0e87dababb6ff7c"} device_1 | {"level":"info","message":"GET /devices/2b652cbd-f201-493d-a263-c171f91afe7e? 200 26ms","method":"GET","requestID":"d1a5821904f97bc4e0e87dababb6ff7c","responseTime":26,"status":200,"url":"/devices/2b652cbd-f201-493d-a263-c171f91afe7e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"56559fc87943e21a0920a67cb53dbcea","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.730987,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"56559fc87943e21a0920a67cb53dbcea"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f5a835f0-d653-448d-9437-5ffbe06fae01","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.41418} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56559fc87943e21a0920a67cb53dbcea"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec449675-68aa-48e3-9f44-cbbeef4bdaa1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.420955} 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":"56559fc87943e21a0920a67cb53dbcea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f2fa6510-3f69-4bd6-ae1b-c4e873cab060","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4325666} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58bcca62-3e25-4a53-8751-b79167a73f79","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.432864} 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":"56559fc87943e21a0920a67cb53dbcea"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.432549687Z"}]},"request_id":"7567376f-f23f-479b-a2e2-aa28f3ae9462","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4393907} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"56559fc87943e21a0920a67cb53dbcea"},"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 65ms","method":"POST","requestID":"56559fc87943e21a0920a67cb53dbcea","responseTime":65,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"56559fc87943e21a0920a67cb53dbcea"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"26268ea72073a8fb04c46a2fd1505887","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.19977,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"26268ea72073a8fb04c46a2fd1505887"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"14443507-eab1-49b9-9161-2a3748c548f3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4727895} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26268ea72073a8fb04c46a2fd1505887"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcc3dd00-096c-44f0-8145-567a09fc7fe0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4793758} 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":"26268ea72073a8fb04c46a2fd1505887"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f747da63-0fc0-4a1a-a9b2-6fef0073671b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4905488} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa07e34d-15c1-424b-887b-037eeb198050","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4908416} 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":"26268ea72073a8fb04c46a2fd1505887"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.490523655Z"}]},"request_id":"57d1ba84-fc8e-4de7-8af1-4010201b9bc9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.4970772} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26268ea72073a8fb04c46a2fd1505887"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 49ms","method":"POST","requestID":"26268ea72073a8fb04c46a2fd1505887","responseTime":49,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26268ea72073a8fb04c46a2fd1505887"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a8e6f0ec6bf392a99e2f3902a615e60","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.283326,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841032,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzMn0.lIiV7a5Wptxx7TRb5CjlsqN-cwmaYlcT4VXwKPRBDwU"} 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":"8a8e6f0ec6bf392a99e2f3902a615e60"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d08b472a-6381-4491-903f-3ca250a451a0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.535285} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8e6f0ec6bf392a99e2f3902a615e60"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c99832f5-452f-4afa-9bad-ab868505b384","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.5431635} 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":"8a8e6f0ec6bf392a99e2f3902a615e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"c6ffc0c0-c4d9-4258-b597-fbac8d0eb850","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.555897} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4725a7f0-5d58-4c6f-a20e-f8d0f33b5a95","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.5562809} 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":"8a8e6f0ec6bf392a99e2f3902a615e60"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.555870721Z"}]},"request_id":"e7eaf6db-e898-4e5d-84f9-76417706578d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841032.5633848} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8e6f0ec6bf392a99e2f3902a615e60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"8a8e6f0ec6bf392a99e2f3902a615e60","responseTime":58,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8a8e6f0ec6bf392a99e2f3902a615e60"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"d6a66f730e6cee5aa63e5370938c5a5a","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/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":"d6a66f730e6cee5aa63e5370938c5a5a"} device_1 | {"level":"info","message":"OPTIONS /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/websocket 200 2ms","method":"OPTIONS","requestID":"d6a66f730e6cee5aa63e5370938c5a5a","responseTime":2,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3f17d4769f7caa5e254a7bd167b331b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.203216,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3f17d4769f7caa5e254a7bd167b331b"},"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 2ms","method":"GET","requestID":"2b1cff389014170f68440ec72b20daf8","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/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":"2b1cff389014170f68440ec72b20daf8"} device_1 | {"level":"info","message":"OPTIONS /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/websocket 200 1ms","method":"OPTIONS","requestID":"2b1cff389014170f68440ec72b20daf8","responseTime":1,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a0176dbdd68d1cf63b68df51b1d75494","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750081,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"a0176dbdd68d1cf63b68df51b1d75494"},"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":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e3f17d4769f7caa5e254a7bd167b331b"} device_1 | {"level":"info","message":"POST /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/websocket 200 42ms","method":"POST","requestID":"e3f17d4769f7caa5e254a7bd167b331b","responseTime":42,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/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":"a0176dbdd68d1cf63b68df51b1d75494"} device_1 | {"level":"info","message":"POST /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/websocket 200 25ms","method":"POST","requestID":"a0176dbdd68d1cf63b68df51b1d75494","responseTime":25,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a8782022fe193de29c5030e254e14ad","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.170399,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8782022fe193de29c5030e254e14ad"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.555870721Z"}]},"request_id":"dede87bb-9494-45c9-a4a5-8a15194c760d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.6294487} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a8782022fe193de29c5030e254e14ad"},"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/ac983cdf-29b9-442c-ad58-14b63e7939e7? 200 18ms","method":"GET","requestID":"8a8782022fe193de29c5030e254e14ad","responseTime":18,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7? 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":"8a8782022fe193de29c5030e254e14ad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b54de80a29f9c66f7b4735072297044","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:38658","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.783867,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"2b54de80a29f9c66f7b4735072297044"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"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:38658","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.151548,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52996198-ed41-44bd-bbf4-dd9174b6bfae","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/52996198-ed41-44bd-bbf4-dd9174b6bfae","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"e1ce85f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.586501,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"e1ced410-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52996198-ed41-44bd-bbf4-dd9174b6bfae","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.490523655Z"}]},"request_id":"ca7369f5-a303-4928-bf30-99cd0f15bd87","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.7177622} 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":"e1ce85f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.555870721Z"}]},"request_id":"d0144b1b-f3ac-4560-8aab-ffaaaa847ded","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.7196496} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1ced410-f804-11ee-96ad-77028417699d"},"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/ac983cdf-29b9-442c-ad58-14b63e7939e7? 200 23ms","method":"GET","requestID":"e1ced410-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.724572,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1ce85f0-f804-11ee-96ad-77028417699d"},"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/52996198-ed41-44bd-bbf4-dd9174b6bfae? 200 33ms","method":"GET","requestID":"e1ce85f0-f804-11ee-96ad-77028417699d","responseTime":33,"status":200,"url":"/devices/52996198-ed41-44bd-bbf4-dd9174b6bfae?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"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:38658","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.34179,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1e03930-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.198666,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"e1e08750-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"972469c1-f2f3-406d-8455-eb6de24ef884","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.831965} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.065365,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","rebac_allow":false,"scope_allow":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":"e1e0d570-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.432549687Z"}]},"request_id":"e661cc48-bc4a-4b2b-b66f-4bdf8e1e041a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8353236} 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":"e1e03930-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.555870721Z"}]},"request_id":"6e7c479e-d940-4eaa-902b-9143bb8ea9b9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.839112} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1e08750-f804-11ee-96ad-77028417699d"},"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/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling 200 20ms","method":"POST","requestID":"e1e0d570-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd8a123-4d6f-4e5a-b550-ddf41d2caca9#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"aa8640cc-ecac-4ad2-980d-c9398faf94c9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8453383} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3437c61-2358-442c-bf51-28cea0642fb1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8461022} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/411c153e-6f3d-4489-bafe-3f74cd66926c? 200 35ms","method":"GET","requestID":"e1e03930-f804-11ee-96ad-77028417699d","responseTime":35,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c?"} 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":"2b54de80a29f9c66f7b4735072297044"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device_1 | {"level":"info","message":"GET /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7? 200 35ms","method":"GET","requestID":"e1e08750-f804-11ee-96ad-77028417699d","responseTime":35,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"361b32fe-6a8d-42f5-a800-b35bc0354a0b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8598328} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.501864,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1e4cd10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling 200 21ms","method":"POST","requestID":"e1e4cd10-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 226ms","method":"POST","requestID":"2b54de80a29f9c66f7b4735072297044","responseTime":226,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2b54de80a29f9c66f7b4735072297044"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7b3b77b-94b4-47b7-a51b-d4a45a833195","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.873938} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.116328,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"64982690306444da1719cea915740717","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 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":"e1e78c30-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.716523,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} device_1 | {"level":"info","message":"POST /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling 200 19ms","method":"POST","requestID":"e1e78c30-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64982690306444da1719cea915740717"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.432549687Z"}]},"request_id":"b92e241b-a9f1-4f72-b43e-841ebaa91936","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8909576} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64982690306444da1719cea915740717"},"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:38658","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8e30df96-6cfd-4590-b66a-e6246a272b38","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.8934698} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.167472,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1eae790-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/411c153e-6f3d-4489-bafe-3f74cd66926c? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"64982690306444da1719cea915740717"} device_1 | {"level":"info","message":"GET /devices/411c153e-6f3d-4489-bafe-3f74cd66926c? 200 18ms","method":"GET","requestID":"64982690306444da1719cea915740717","responseTime":18,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling 200 12ms","method":"POST","requestID":"e1eae790-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"dcfd1173-dc02-4bdf-87b3-4232aaa6837d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"8c62eab5-c64e-4c9d-a939-94cd986a2450"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"3dc62821-2b9f-49b6-804a-82cb9b991808"}]},"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/411c153e-6f3d-4489-bafe-3f74cd66926c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ccfb1b2216ec908f6b8814fdadd0820d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.935091,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} 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":"e1ed3180-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.021174,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841034,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNH0.MxXbcmpbfdIYwkuCDWbtVKDdpQtd8yfxdpgB0ooMkic"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccfb1b2216ec908f6b8814fdadd0820d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:32.555870721Z"}]},"request_id":"3406564f-f9fd-4fd2-84a7-f16d8db7f669","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.9151096} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ccfb1b2216ec908f6b8814fdadd0820d"},"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":"11/Apr/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7? 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":"ccfb1b2216ec908f6b8814fdadd0820d"} device_1 | {"level":"info","message":"GET /devices/ac983cdf-29b9-442c-ad58-14b63e7939e7? 200 13ms","method":"GET","requestID":"ccfb1b2216ec908f6b8814fdadd0820d","responseTime":13,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"96451e54-34bf-4f09-b9f2-bd1d21c6a66b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.9205675} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6ba168b6-394d-4aa9-bbf5-7db75e57c647","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.9207013} 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":"e1ed3180-f804-11ee-96ad-77028417699d"},"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/abdc2623-6199-41e0-a401-225370f22ecb'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"e1ed3180-f804-11ee-96ad-77028417699d","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18663c86-5b46-45f9-818a-a4effa0d780b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.9884503} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.104592,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","rebac_allow":false,"scope_allow":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":"e1f96680-f804-11ee-96ad-77028417699d"},"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/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling 200 9ms","method":"POST","requestID":"e1f96680-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3029c862-59ac-48d5-a60b-31a794f4a17e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841034.9989548} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.175687,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:34Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","rebac_allow":false,"scope_allow":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":"e1faed20-f804-11ee-96ad-77028417699d"},"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/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling 200 8ms","method":"POST","requestID":"e1faed20-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","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":"a5fcb78d2554b35d70c51ad0d15300ff","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/411c153e-6f3d-4489-bafe-3f74cd66926c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 10ms","method":"POST","requestID":"a5fcb78d2554b35d70c51ad0d15300ff","responseTime":10,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","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":"a5fcb78d2554b35d70c51ad0d15300ff"} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","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/abdc2623-6199-41e0-a401-225370f22ecb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","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":"7493ee935f0dbdccda1212da59a6cdaa","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/411c153e-6f3d-4489-bafe-3f74cd66926c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabdc2623-6199-41e0-a401-225370f22ecb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce5f71e5-5fc4-4bf8-9cf6-0c4ff7fe3f49","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.2357233} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.063089,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb","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":"e21ec8d0-f804-11ee-96ad-77028417699d"},"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/abdc2623-6199-41e0-a401-225370f22ecb 200 13ms","method":"GET","requestID":"e21ec8d0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"7493ee935f0dbdccda1212da59a6cdaa","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","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":"7493ee935f0dbdccda1212da59a6cdaa"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a4631a0-763e-4ed6-8e5e-f92daadfbad0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.2746603} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.776993,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","rebac_allow":false,"scope_allow":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":"e2249530-f804-11ee-96ad-77028417699d"},"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/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling 200 15ms","method":"POST","requestID":"e2249530-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bfd38d21-39bf-4243-a4a3-e4e5db9e4647","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.2927775} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.779515,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","rebac_allow":false,"scope_allow":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":"e2277b60-f804-11ee-96ad-77028417699d"},"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/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling 200 15ms","method":"POST","requestID":"e2277b60-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b437a75c91520103a9d9cded09d5a0db","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.453411,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841035,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw"} 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":"b437a75c91520103a9d9cded09d5a0db"},"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/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b437a75c91520103a9d9cded09d5a0db"} experiment_1 | {"level":"info","message":"GET /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9 200 18ms","method":"GET","requestID":"b437a75c91520103a9d9cded09d5a0db","responseTime":18,"status":200,"url":"/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d86844691cc50867c5c6782698742c2","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.352601,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841035,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw"} 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":"7d86844691cc50867c5c6782698742c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.715174,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841035,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw"} 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":"e2318d80-f804-11ee-96ad-77028417699d"},"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/abdc2623-6199-41e0-a401-225370f22ecb' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","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":"f9d90d0f563bd0170f17dcce4ef51f46","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabdc2623-6199-41e0-a401-225370f22ecb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fabdc2623-6199-41e0-a401-225370f22ecb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"3e66d661-07ef-4b3e-87b3-6b453042d79f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.3814275} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"}}},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a5dc8b7-9414-4296-bfd4-e17d5ba4337c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.3818023} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88604e67ae5b5cecb6c7d0d6d7048a52","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/411c153e-6f3d-4489-bafe-3f74cd66926c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"}}},"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":"e2318d80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"data":{"peerconnection":"abdc2623-6199-41e0-a401-225370f22ecb","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/abdc2623-6199-41e0-a401-225370f22ecb 204 63ms","method":"DELETE","requestID":"e2318d80-f804-11ee-96ad-77028417699d","responseTime":63,"status":204,"url":"/peerconnections/abdc2623-6199-41e0-a401-225370f22ecb"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F411c153e-6f3d-4489-bafe-3f74cd66926c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8879a4c-6bd4-4d65-9985-c52d00d91d4b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.450746} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.049607,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/411c153e-6f3d-4489-bafe-3f74cd66926c","object_type":"device","rebac_allow":false,"scope_allow":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":"e23f4920-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling 200 17ms","method":"POST","requestID":"e23f4920-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/411c153e-6f3d-4489-bafe-3f74cd66926c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd8a123-4d6f-4e5a-b550-ddf41d2caca9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bd8a123-4d6f-4e5a-b550-ddf41d2caca9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"aa62fe9d-8969-4a87-bb35-ffa55d811536","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.4646175} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2fd4c2c-d18b-45c4-a8a0-dec194ffe212","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.465062} 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":"7d86844691cc50867c5c6782698742c2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac983cdf-29b9-442c-ad58-14b63e7939e7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4674abf0-bdb8-4132-8001-fb63eef108cb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.4718425} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.929297,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7","object_type":"device","rebac_allow":false,"scope_allow":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":"e2427d70-f804-11ee-96ad-77028417699d"},"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/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling 200 21ms","method":"POST","requestID":"e2427d70-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d86844691cc50867c5c6782698742c2"} experiment_1 | {"level":"info","message":"DELETE /experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9 204 238ms","method":"DELETE","requestID":"7d86844691cc50867c5c6782698742c2","responseTime":238,"status":204,"url":"/experiments/3bd8a123-4d6f-4e5a-b550-ddf41d2caca9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"f9d90d0f563bd0170f17dcce4ef51f46","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"f9d90d0f563bd0170f17dcce4ef51f46"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"88604e67ae5b5cecb6c7d0d6d7048a52","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch","requestID":"88604e67ae5b5cecb6c7d0d6d7048a52"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99f75a1682aa5519c4344f00ce3d8f25","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2197","request_time":"0.993","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"297ec955aec69bd7505c3bc698e67b43"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1926","request_time":"1.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":"e18aae4a5b3652e784264bf47b0432a1"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.88222,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ac983cdf-29b9-442c-ad58-14b63e7939e7' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841035,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw"} 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":"99f75a1682aa5519c4344f00ce3d8f25"},"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/411c153e-6f3d-4489-bafe-3f74cd66926c' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"374e1c16-41c2-43d9-ad6e-a6e2d8714eb5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.605402} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99f75a1682aa5519c4344f00ce3d8f25"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a573843f-3837-49a8-a152-b61e10af2f19","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6103842} 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":"99f75a1682aa5519c4344f00ce3d8f25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3031ead8-e8f7-4448-9af0-9f6298d6d99e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6230888} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3945c81c-3fd0-4aec-9329-fdb638243fa7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.623247} 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":"99f75a1682aa5519c4344f00ce3d8f25"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"b1525057-c54c-496a-841c-3aff8f8c97c5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6276157} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"99f75a1682aa5519c4344f00ce3d8f25"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 50ms","method":"POST","requestID":"99f75a1682aa5519c4344f00ce3d8f25","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"99f75a1682aa5519c4344f00ce3d8f25"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fcb9b0ac8f2d928428cd607e8b1b3ff4","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.751918,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841035,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNX0.KrU9h2UCPsO_G7GjcY_C7jf8FcfDsuWn_HRZ7VYchKw"} 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":"fcb9b0ac8f2d928428cd607e8b1b3ff4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8f18679-7ac8-4c7e-87b2-2b335306268b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6527545} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcb9b0ac8f2d928428cd607e8b1b3ff4"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f165bd97-24a4-413d-8329-53384804e51c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6577933} 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":"fcb9b0ac8f2d928428cd607e8b1b3ff4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"7e2e4224-f869-4fb3-ae47-32b2c57c5409","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6688004} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"987bc39a-75e4-4f39-9f8c-13e0e5b0b44d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.669113} 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":"fcb9b0ac8f2d928428cd607e8b1b3ff4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.668784389Z"}]},"request_id":"e6adaa95-3a7e-4399-a687-945be45c9796","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841035.6744785} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcb9b0ac8f2d928428cd607e8b1b3ff4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"fcb9b0ac8f2d928428cd607e8b1b3ff4","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcb9b0ac8f2d928428cd607e8b1b3ff4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNn0.b5CJ82NFLvbpQhs070jxqhEJnESWgVytz3tAAU6SviY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8822ff00d99e7f297c7361c2c949348f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:36Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893266,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841036,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNn0.b5CJ82NFLvbpQhs070jxqhEJnESWgVytz3tAAU6SviY"} 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":"8822ff00d99e7f297c7361c2c949348f"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"d818e35a-45fe-451e-b50b-93b9ac373f28","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841036.156747} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8822ff00d99e7f297c7361c2c949348f"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b61a7daf-d517-4266-99db-08b1bd28668d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841036.163513} 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":"8822ff00d99e7f297c7361c2c949348f"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"029be429-bb4b-4f5b-9bc0-e858e9079829","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841036.1805267} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8822ff00d99e7f297c7361c2c949348f"},"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":"11/Apr/2024:13:10:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.048","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8822ff00d99e7f297c7361c2c949348f"} device_1 | {"level":"info","message":"PATCH /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a 200 41ms","method":"PATCH","requestID":"8822ff00d99e7f297c7361c2c949348f","responseTime":41,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNn0.b5CJ82NFLvbpQhs070jxqhEJnESWgVytz3tAAU6SviY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2a318c3d684b6afb5542535a18276cd9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:36Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.106523,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841036,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzNn0.b5CJ82NFLvbpQhs070jxqhEJnESWgVytz3tAAU6SviY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2a318c3d684b6afb5542535a18276cd9"},"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":"11/Apr/2024:13:10:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2a318c3d684b6afb5542535a18276cd9"} device_1 | {"level":"info","message":"POST /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/websocket 200 25ms","method":"POST","requestID":"2a318c3d684b6afb5542535a18276cd9","responseTime":25,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a' 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":"d0bf3eb52d4001d987dbef5db785a184","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/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":"d0bf3eb52d4001d987dbef5db785a184"} device_1 | {"level":"info","message":"OPTIONS /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/websocket 200 1ms","method":"OPTIONS","requestID":"d0bf3eb52d4001d987dbef5db785a184","responseTime":1,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"efdf18197a362455d593837c4034a137","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.154989,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdf18197a362455d593837c4034a137"},"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/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/websocket 200 41ms","method":"POST","requestID":"efdf18197a362455d593837c4034a137","responseTime":41,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.047","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"efdf18197a362455d593837c4034a137"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"585b5013f9476cefef5865e5c220b3b5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.35593,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"585b5013f9476cefef5865e5c220b3b5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"909b7382-1885-42bd-b638-68876e9c5345","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.7604027} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"585b5013f9476cefef5865e5c220b3b5"},"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":"11/Apr/2024:13:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"585b5013f9476cefef5865e5c220b3b5"} device_1 | {"level":"info","message":"GET /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? 200 20ms","method":"GET","requestID":"585b5013f9476cefef5865e5c220b3b5","responseTime":20,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5c4f01b6bbce23c8da3c7e07c318297b","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.371622,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"5c4f01b6bbce23c8da3c7e07c318297b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.668784389Z"}]},"request_id":"cb3d0e82-5b13-4c2d-a51a-34fbeaae65cb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.7941022} 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":"5c4f01b6bbce23c8da3c7e07c318297b"},"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":"11/Apr/2024:13:10:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c4f01b6bbce23c8da3c7e07c318297b"} device_1 | {"level":"info","message":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? 200 29ms","method":"GET","requestID":"5c4f01b6bbce23c8da3c7e07c318297b","responseTime":29,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"88be88550814a71267c915b346750b5d","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:38658","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.326813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"88be88550814a71267c915b346750b5d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"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:38658","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.393146,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"e3b2d650-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917171,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"e3b32470-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"36527f46-2e38-4c0c-9206-a78cc1aebe27","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.890406} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3b2d650-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.668784389Z"}]},"request_id":"43db377b-1c99-45f3-ae6b-6be1e38d744a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.891468} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3b32470-f804-11ee-96ad-77028417699d"},"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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? 200 20ms","method":"GET","requestID":"e3b2d650-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? 200 19ms","method":"GET","requestID":"e3b32470-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"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/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233138,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3bf8080-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171747,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"e3bfcea0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce676677-ed80-4569-ab15-9c42e862e786","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.9735072} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.800391,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:37Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","rebac_allow":false,"scope_allow":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":"e3c01cc0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"204fea00-8e49-4df3-bd5c-6d8e5fad6144","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.9765918} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.668784389Z"}]},"request_id":"000d2e17-cd70-4f90-811d-944a2d48b774","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.9785056} 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":"e3bf8080-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3bfcea0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F808c4483-aaf2-495b-829f-4fa659a0c2c4#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F808c4483-aaf2-495b-829f-4fa659a0c2c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a1c6e60d-2177-422d-8b43-5d5628627aca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.9861612} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8563527-8790-4847-af4f-4fdc4321a713","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841037.9864225} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling 200 26ms","method":"POST","requestID":"e3c01cc0-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling"} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"88be88550814a71267c915b346750b5d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? 200 32ms","method":"GET","requestID":"e3bf8080-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? 200 31ms","method":"GET","requestID":"e3bfcea0-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27d589db-58ba-4eff-94c6-98a4265421ae","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.0055065} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.632697,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment_1 | {"level":"info","message":"POST /experiments? 201 191ms","method":"POST","requestID":"88be88550814a71267c915b346750b5d","responseTime":191,"status":201,"url":"/experiments?"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3c54ce0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"add8a334-093e-4381-a67a-f6642dfcc9ea","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.00931} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.979447,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88be88550814a71267c915b346750b5d"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","rebac_allow":false,"scope_allow":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":"e3c5e920-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOH0.xh6R5SZrBnW6xatbMb9ZdBZU61pl4ifrDTWUo_ckolA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"68719d9999f44d133f52e667bb57b2a0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling 200 18ms","method":"POST","requestID":"e3c54ce0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling 200 18ms","method":"POST","requestID":"e3c5e920-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.217935,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841038,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOH0.xh6R5SZrBnW6xatbMb9ZdBZU61pl4ifrDTWUo_ckolA"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68719d9999f44d133f52e667bb57b2a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a59b616b-2e13-435e-8bf1-42097b127f14","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.0288682} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.623073621Z"}]},"request_id":"bf92aa35-6320-4b13-b49b-1836cd5d8657","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.0291603} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68719d9999f44d133f52e667bb57b2a0"},"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:38658","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.067964,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","rebac_allow":false,"scope_allow":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":"e3c91d70-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"68719d9999f44d133f52e667bb57b2a0"} device_1 | {"level":"info","message":"GET /devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a? 200 19ms","method":"GET","requestID":"68719d9999f44d133f52e667bb57b2a0","responseTime":19,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling 200 15ms","method":"POST","requestID":"e3c91d70-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f1083da0-1600-49b3-8c06-45bfea849938"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ed77b17e-05e4-4588-8c92-04d5c1ffa3f9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"ea3d35ec-40b2-490f-82a4-8b98fd5babea"}]},"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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOH0.xh6R5SZrBnW6xatbMb9ZdBZU61pl4ifrDTWUo_ckolA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e1b9e42af17d39882b545486952c74fd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.853661,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841037,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzN30.vVu0URngVVEDG4N6aazbQtIOzVTa7TDgqx9PmZ7bNYE"} 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":"e3cc03a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921186,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841038,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOH0.xh6R5SZrBnW6xatbMb9ZdBZU61pl4ifrDTWUo_ckolA"} 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":"e1b9e42af17d39882b545486952c74fd"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:35.668784389Z"}]},"request_id":"1bc099d9-dbdd-45ce-8573-2be153029ae6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.057376} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1b9e42af17d39882b545486952c74fd"},"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":"11/Apr/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? 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":"e1b9e42af17d39882b545486952c74fd"} device_1 | {"level":"info","message":"GET /devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2? 200 18ms","method":"GET","requestID":"e1b9e42af17d39882b545486952c74fd","responseTime":18,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"41ab1c74-8d40-40bb-b4cd-c87e2b1dc870","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.0633593} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"caf627fc-7dfe-4b99-8290-e81930bcae40","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.0642908} 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":"e3cc03a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 48ms","method":"POST","requestID":"e3cc03a0-f804-11ee-96ad-77028417699d","responseTime":48,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13fad229-eb87-477e-ae53-02fb0e9c811c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.132117} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.46734,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","rebac_allow":false,"scope_allow":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":"e3d8d4e0-f804-11ee-96ad-77028417699d"},"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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling 200 12ms","method":"POST","requestID":"e3d8d4e0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dfe5a39-96ce-484e-922f-dbf717c40d98","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841038.1466591} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55717,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:38Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","rebac_allow":false,"scope_allow":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":"e3db1ed0-f804-11ee-96ad-77028417699d"},"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/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling 200 10ms","method":"POST","requestID":"e3db1ed0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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/3bedceab-0852-43cf-abf7-11b289dd0277' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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":"81cda3775469ae49df05cd6769cc635d","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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"81cda3775469ae49df05cd6769cc635d","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"81cda3775469ae49df05cd6769cc635d"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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/3bedceab-0852-43cf-abf7-11b289dd0277' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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":"e54b4e691fa8b455813706eef7cd2203","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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bedceab-0852-43cf-abf7-11b289dd0277","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd8505f3-7aa4-4dbe-bab1-bbe006fadb3c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.25838} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.497886,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277","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":"e4847e30-f804-11ee-96ad-77028417699d"},"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/3bedceab-0852-43cf-abf7-11b289dd0277 200 14ms","method":"GET","requestID":"e4847e30-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 45ms","method":"POST","requestID":"e54b4e691fa8b455813706eef7cd2203","responseTime":45,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch","requestID":"e54b4e691fa8b455813706eef7cd2203"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8de3a81-304b-4588-b057-6f596bc32715","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.2959733} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.383184,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","rebac_allow":false,"scope_allow":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":"e48a4a90-f804-11ee-96ad-77028417699d"},"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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling 200 15ms","method":"POST","requestID":"e48a4a90-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b3358611-8b0f-4a68-854c-6bfc15a0e6c4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.3129642} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.559036,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","rebac_allow":false,"scope_allow":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":"e48ce2a0-f804-11ee-96ad-77028417699d"},"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/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling 200 14ms","method":"POST","requestID":"e48ce2a0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f69ee7d081fe56021ddb2cefb0c82031","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.110397,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841039,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs"} 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":"f69ee7d081fe56021ddb2cefb0c82031"},"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/808c4483-aaf2-495b-829f-4fa659a0c2c4"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4 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":"f69ee7d081fe56021ddb2cefb0c82031"} experiment_1 | {"level":"info","message":"GET /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4 200 18ms","method":"GET","requestID":"f69ee7d081fe56021ddb2cefb0c82031","responseTime":18,"status":200,"url":"/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"299748ea2d492e2c1d0ef6bf41bf2b19","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.355753,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841039,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs"} 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":"299748ea2d492e2c1d0ef6bf41bf2b19"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.254454,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841039,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs"} 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":"e4a6fa50-f804-11ee-96ad-77028417699d"},"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/3bedceab-0852-43cf-abf7-11b289dd0277' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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":"b4b81d703e217428f2f5c2c9d6d56d99","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0a3f6f206f44551d2abaec4c0352cebc","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bedceab-0852-43cf-abf7-11b289dd0277': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3bedceab-0852-43cf-abf7-11b289dd0277","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"2e7ceab0-5258-46f3-8930-8b37e6d01c00","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.5100107} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4418c326-8e96-4de5-87d7-fde25f04409c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.510504} 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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"}}},"level":"info","message":"received a callback"} 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":"e4a6fa50-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"data":{"peerconnection":"3bedceab-0852-43cf-abf7-11b289dd0277","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/3bedceab-0852-43cf-abf7-11b289dd0277 204 69ms","method":"DELETE","requestID":"e4a6fa50-f804-11ee-96ad-77028417699d","responseTime":69,"status":204,"url":"/peerconnections/3bedceab-0852-43cf-abf7-11b289dd0277"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d6a4030-ba9f-4fe6-a626-0b315fa9514a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae9071a9-3bca-4166-b754-eff7e1802f5c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.5835073} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.530119,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a","object_type":"device","rebac_allow":false,"scope_allow":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":"e4b5ee70-f804-11ee-96ad-77028417699d"},"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/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling 200 17ms","method":"POST","requestID":"e4b5ee70-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F808c4483-aaf2-495b-829f-4fa659a0c2c4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F808c4483-aaf2-495b-829f-4fa659a0c2c4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"c3041d2f-ff4f-4cf7-b367-9aa4e16da5d8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.5962296} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4af3de5-102e-4cd3-8004-fba760d9d8e7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.5967739} 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":"299748ea2d492e2c1d0ef6bf41bf2b19"},"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:38658","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9cb44b3-54b5-4dce-9d7b-d92931868ed2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"31fd05bc-7ab4-472e-884f-812c2c412370","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.603866} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506206,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2","object_type":"device","rebac_allow":false,"scope_allow":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":"e4b970e0-f804-11ee-96ad-77028417699d"},"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/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling 200 13ms","method":"POST","requestID":"e4b970e0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.211","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"299748ea2d492e2c1d0ef6bf41bf2b19"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"3.445","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"93b272cea2b29d6eaf142bcd24e86e50"} experiment_1 | {"level":"info","message":"DELETE /experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4 204 206ms","method":"DELETE","requestID":"299748ea2d492e2c1d0ef6bf41bf2b19","responseTime":206,"status":204,"url":"/experiments/808c4483-aaf2-495b-829f-4fa659a0c2c4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 159ms","method":"POST","requestID":"b4b81d703e217428f2f5c2c9d6d56d99","responseTime":159,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.163","http_referrer":"","http_user_agent":"node-fetch","requestID":"b4b81d703e217428f2f5c2c9d6d56d99"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"0a3f6f206f44551d2abaec4c0352cebc","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch","requestID":"0a3f6f206f44551d2abaec4c0352cebc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0466f39d8e7011c6560b322285bb7494","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"1.951","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"24c85dd8b5b12fece3d31066da44253c"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910974,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1d6a4030-ba9f-4fe6-a626-0b315fa9514a' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841039,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs"} 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":"0466f39d8e7011c6560b322285bb7494"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f9cb44b3-54b5-4dce-9d7b-d92931868ed2' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"70ab400c-c292-4588-a00d-acaaceed81ba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.6933317} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0466f39d8e7011c6560b322285bb7494"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81603273-c410-44af-a26b-551019b4f42e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.6996326} 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":"0466f39d8e7011c6560b322285bb7494"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"6ebf400c-82e1-4a85-abbb-4239239b5888","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.7131877} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25254ca4-9603-48b7-a69a-899f35bf71b6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.7133498} 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":"0466f39d8e7011c6560b322285bb7494"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.713162972Z"}]},"request_id":"6c5030c3-6d64-4ba3-879a-d2178f112c12","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.7184649} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0466f39d8e7011c6560b322285bb7494"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"0466f39d8e7011c6560b322285bb7494","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0466f39d8e7011c6560b322285bb7494"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7fdc95843cd805dfd0aedf84e8d762a3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761362,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841039,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTAzOX0.pLkX-qlffFp5CWd4v5K77Y9PleLxE65ZSrxqjti0xDs"} 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":"7fdc95843cd805dfd0aedf84e8d762a3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8ebcf5a5-df23-4e60-af29-6a440d13464b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.7437427} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7fdc95843cd805dfd0aedf84e8d762a3"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ab4d6a1-586c-4c55-abea-574c76303fbc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.748765} 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":"7fdc95843cd805dfd0aedf84e8d762a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"44fee22e-c3c2-4268-b60f-ee5bdfa94237","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.757905} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c97dee44-25d7-400a-8493-261a63d58d18","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.758147} 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":"7fdc95843cd805dfd0aedf84e8d762a3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.757883699Z"}]},"request_id":"02f89c3c-a68e-4684-b37b-39bc2626971a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841039.7626672} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7fdc95843cd805dfd0aedf84e8d762a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"7fdc95843cd805dfd0aedf84e8d762a3","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fdc95843cd805dfd0aedf84e8d762a3"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c0826683d7f4800cdd707cdbb4028a74","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/websocket 200 1ms","method":"OPTIONS","requestID":"c0826683d7f4800cdd707cdbb4028a74","responseTime":1,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/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":"c0826683d7f4800cdd707cdbb4028a74"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"441e054a1c18f569ad2ce866a4e11b94","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947732,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4bd096863c90e6c15e19816b266624bd","responseTime":1,"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":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"441e054a1c18f569ad2ce866a4e11b94"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/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":"4bd096863c90e6c15e19816b266624bd"} device_1 | {"level":"info","message":"OPTIONS /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/websocket 200 1ms","method":"OPTIONS","requestID":"4bd096863c90e6c15e19816b266624bd","responseTime":1,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ad2b11b8422c6d84548b6d4f5cd5129e","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.11078,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad2b11b8422c6d84548b6d4f5cd5129e"},"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":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"441e054a1c18f569ad2ce866a4e11b94"} device_1 | {"level":"info","message":"POST /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/websocket 200 36ms","method":"POST","requestID":"441e054a1c18f569ad2ce866a4e11b94","responseTime":36,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.041","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ad2b11b8422c6d84548b6d4f5cd5129e"} device_1 | {"level":"info","message":"POST /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/websocket 200 34ms","method":"POST","requestID":"ad2b11b8422c6d84548b6d4f5cd5129e","responseTime":34,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8e2cc572be4646547eb849696938f27a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.049473,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e2cc572be4646547eb849696938f27a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.713162972Z"}]},"request_id":"9353f8b4-568a-47bb-9763-73cd0c6e3f01","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841041.7956939} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e2cc572be4646547eb849696938f27a"},"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":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 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":"8e2cc572be4646547eb849696938f27a"} device_1 | {"level":"info","message":"GET /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 200 17ms","method":"GET","requestID":"8e2cc572be4646547eb849696938f27a","responseTime":17,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e10ae88e4a8a37157db2e7c0f45a15b7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.045389,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e10ae88e4a8a37157db2e7c0f45a15b7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.757883699Z"}]},"request_id":"cb7ac185-6ebb-4af7-9e15-aee7d4b7494c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841041.8211675} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e10ae88e4a8a37157db2e7c0f45a15b7"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 200 17ms","method":"GET","requestID":"e10ae88e4a8a37157db2e7c0f45a15b7","responseTime":17,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 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":"e10ae88e4a8a37157db2e7c0f45a15b7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73811bd386772ba7fc6238d595b738a0","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:38658","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.436837,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} 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":"73811bd386772ba7fc6238d595b738a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"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:38658","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.772469,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} 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":"e618b2c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.763924,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} 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":"e61900e0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.713162972Z"}]},"request_id":"ef8835ec-3d5d-415a-8323-9ca4462ad0bf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841041.9148755} 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":"e618b2c0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.757883699Z"}]},"request_id":"951f49ab-6c10-45fd-ae92-6354e3bf5803","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841041.916482} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e61900e0-f804-11ee-96ad-77028417699d"},"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 200 23ms","method":"GET","requestID":"e618b2c0-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 200 23ms","method":"GET","requestID":"e61900e0-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"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:38658","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19466,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6270aa0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.742753,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} 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":"e62758c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:34602","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.713162972Z"}]},"request_id":"705ad309-baac-473b-96a6-afd5401d32a2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0074058} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6270aa0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.757883699Z"}]},"request_id":"7d6db0cd-d070-4300-bf8f-d32ff3c4b37e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0086906} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"dfce65a6-d0e1-47da-8fc2-8485dba89fd9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0093524} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e62758c0-f804-11ee-96ad-77028417699d"},"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:34602","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.772515,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","rebac_allow":false,"scope_allow":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":"e627a6e0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"2406a639-09be-405e-8449-59f2e723e562","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0151906} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f0b0dc1-e603-401f-904f-5d85cf4ab077","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0154543} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 200 22ms","method":"GET","requestID":"e6270aa0-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2?"} 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":"73811bd386772ba7fc6238d595b738a0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 200 23ms","method":"GET","requestID":"e62758c0-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling 200 22ms","method":"POST","requestID":"e627a6e0-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 192ms","method":"POST","requestID":"73811bd386772ba7fc6238d595b738a0","responseTime":192,"status":201,"url":"/experiments?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f67449f-833b-457d-b49a-a17b2a6b5d81","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0280578} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.045431,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73811bd386772ba7fc6238d595b738a0"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","rebac_allow":false,"scope_allow":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":"e62b7770-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cbabd960-086d-4631-bb0e-b51e6d1372d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.03095} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.908492,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","rebac_allow":false,"scope_allow":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":"e62bc590-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ac29110ef78e83895ba5ac55dd5968b8","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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling 200 14ms","method":"POST","requestID":"e62b7770-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling 200 13ms","method":"POST","requestID":"e62bc590-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} 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":"ac29110ef78e83895ba5ac55dd5968b8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.713162972Z"}]},"request_id":"6ac12ba2-1bb4-49bd-a7d7-c7d6c0bf9135","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0443914} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0b59e439-d3e5-462c-b40d-f2593b5b9a58","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0444784} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ac29110ef78e83895ba5ac55dd5968b8"},"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:38658","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.91594,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","rebac_allow":false,"scope_allow":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":"e62de870-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 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":"ac29110ef78e83895ba5ac55dd5968b8"} device_1 | {"level":"info","message":"GET /devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2? 200 15ms","method":"GET","requestID":"ac29110ef78e83895ba5ac55dd5968b8","responseTime":15,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling 200 12ms","method":"POST","requestID":"e62de870-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"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":"6b852184-88b1-42bc-a583-a20bedeb6f20"},{"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":"e313b797-ebac-4f62-a49f-ddf365dd3a96"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"97cdcbba-59ea-460e-a50b-aafc5e3b85e0"}]},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24"},{"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf0db6f94a93133651d0e6ed9c9087b9","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.203405,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841041,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0MX0.WFTQXrrFrhJ6DCCPi1ai31lr5f6-ZArA_ujXD9Kp3fk"} 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":"e6303260-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.521528,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0db6f94a93133651d0e6ed9c9087b9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:39.757883699Z"}]},"request_id":"51fda59b-176e-4861-893a-2caac590ff25","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0648685} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0db6f94a93133651d0e6ed9c9087b9"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 200 14ms","method":"GET","requestID":"cf0db6f94a93133651d0e6ed9c9087b9","responseTime":14,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24? 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":"cf0db6f94a93133651d0e6ed9c9087b9"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f6354584-033f-4293-9836-c214968e7c2c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0706034} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a607634-9929-40a3-84a7-a86d28fdeb7b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.0708606} 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":"e6303260-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 47ms","method":"POST","requestID":"e6303260-f804-11ee-96ad-77028417699d","responseTime":47,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7456d0ad-a1ad-4c00-957f-99c025a7f1b8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.147567} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.974275,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","rebac_allow":false,"scope_allow":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":"e63d9fe0-f804-11ee-96ad-77028417699d"},"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling 200 10ms","method":"POST","requestID":"e63d9fe0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c7953a3-66e6-4d3b-9621-34601a97b7f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.1591215} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.055966,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","rebac_allow":false,"scope_allow":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":"e63f9bb0-f804-11ee-96ad-77028417699d"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling 200 8ms","method":"POST","requestID":"e63f9bb0-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","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":"10b860ce2f15c0922cf084b4759b0bd3","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/2d288fa0-666a-4fa2-8db4-81b5295ffe24"},{"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"10b860ce2f15c0922cf084b4759b0bd3","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"10b860ce2f15c0922cf084b4759b0bd3"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","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/66bd350e-334f-4601-a00e-2edce4b5a694' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","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":"ead1e86193c5c547cc2fd626a67fac73","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/2d288fa0-666a-4fa2-8db4-81b5295ffe24"},{"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66bd350e-334f-4601-a00e-2edce4b5a694","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ccf1f05-0db7-436d-a4d6-c153ef2812d2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.3726113} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.233278,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e65fa6d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694 200 15ms","method":"GET","requestID":"e65fa6d0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 46ms","method":"POST","requestID":"ead1e86193c5c547cc2fd626a67fac73","responseTime":46,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"ead1e86193c5c547cc2fd626a67fac73"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"29e20d43-e985-4b2e-99f9-fad166e8f44d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.411447} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.804112,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","rebac_allow":false,"scope_allow":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":"e6659a40-f804-11ee-96ad-77028417699d"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling 200 16ms","method":"POST","requestID":"e6659a40-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8d05f1b-91e5-45f1-ad5e-7da29eeab585","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.432037} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.708348,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","rebac_allow":false,"scope_allow":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":"e6688070-f804-11ee-96ad-77028417699d"},"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling 200 18ms","method":"POST","requestID":"e6688070-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5f2f737875b3a15f2899cdb2bb00a2ba","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.012804,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} 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":"5f2f737875b3a15f2899cdb2bb00a2ba"},"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/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} experiment_1 | {"level":"info","message":"GET /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6 200 19ms","method":"GET","requestID":"5f2f737875b3a15f2899cdb2bb00a2ba","responseTime":19,"status":200,"url":"/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f2f737875b3a15f2899cdb2bb00a2ba"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83e1cbd4afde907d4ba9d9416add7ce8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.346619,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} 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":"83e1cbd4afde907d4ba9d9416add7ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.094935,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} 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":"e6752aa0-f804-11ee-96ad-77028417699d"},"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/66bd350e-334f-4601-a00e-2edce4b5a694' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66bd350e-334f-4601-a00e-2edce4b5a694': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F66bd350e-334f-4601-a00e-2edce4b5a694","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"c5525c42-2128-4ebe-b68e-c0f32707d69b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.5350645} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6aede223b80c5ac1934049ff41452413","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdc9d668-9a39-4bf1-9ded-9e502ff6f5a2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.535707} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"290a5a02a7f721a02dd54abdba14ee1a","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 14ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6752aa0-f804-11ee-96ad-77028417699d"},"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-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/2d288fa0-666a-4fa2-8db4-81b5295ffe24"},{"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24"},{"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"66bd350e-334f-4601-a00e-2edce4b5a694","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/66bd350e-334f-4601-a00e-2edce4b5a694 204 59ms","method":"DELETE","requestID":"e6752aa0-f804-11ee-96ad-77028417699d","responseTime":59,"status":204,"url":"/peerconnections/66bd350e-334f-4601-a00e-2edce4b5a694"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d288fa0-666a-4fa2-8db4-81b5295ffe24","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"53f875fb-5a50-4912-b174-f24f7700ac5b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.59699} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.132872,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24","object_type":"device","rebac_allow":false,"scope_allow":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":"e681d4d0-f804-11ee-96ad-77028417699d"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling 200 18ms","method":"POST","requestID":"e681d4d0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/2d288fa0-666a-4fa2-8db4-81b5295ffe24/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"46028b39-7051-4c98-882b-7133bcf9290b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.6112561} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc844393-fc78-4c03-85d0-72d5347f21fe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.6117094} 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":"83e1cbd4afde907d4ba9d9416add7ce8"},"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:38658","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fecd95e60-71b2-4307-8d5f-9cbe6ad909a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1844325-dad6-4247-841f-bb34939ce048","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.622794} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.773596,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2","object_type":"device","rebac_allow":false,"scope_allow":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":"e6857e50-f804-11ee-96ad-77028417699d"},"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/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling 200 18ms","method":"POST","requestID":"e6857e50-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83e1cbd4afde907d4ba9d9416add7ce8"} experiment_1 | {"level":"info","message":"DELETE /experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6 204 196ms","method":"DELETE","requestID":"83e1cbd4afde907d4ba9d9416add7ce8","responseTime":196,"status":204,"url":"/experiments/6c58ccb7-d4e1-4c83-806d-2ee36ec91bd6"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"6aede223b80c5ac1934049ff41452413","responseTime":147,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 147ms","method":"POST","requestID":"290a5a02a7f721a02dd54abdba14ee1a","responseTime":147,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"6aede223b80c5ac1934049ff41452413"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"290a5a02a7f721a02dd54abdba14ee1a"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2168","request_time":"0.936","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1b657ffa3fabad0f4129387e3359334"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d1f8b327e7d0b7b390cea75f95e1046","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2436","request_time":"0.952","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1abdd68c00652bba2b3ac9dda4a4713"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.781585,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ecd95e60-71b2-4307-8d5f-9cbe6ad909a2' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1f8b327e7d0b7b390cea75f95e1046"},"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/2d288fa0-666a-4fa2-8db4-81b5295ffe24' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3d3a09c0-f600-472c-8c81-335d4ade4fb5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.7234156} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1f8b327e7d0b7b390cea75f95e1046"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87b84775-6780-49f4-a186-924928d95325","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.7300563} 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":"4d1f8b327e7d0b7b390cea75f95e1046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"ef0e5c49-6457-43f7-aada-08ebc1022546","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.7411177} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f1397e2-70b6-4c2b-8f06-45c499795546","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.741492} 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":"4d1f8b327e7d0b7b390cea75f95e1046"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.741096099Z"}]},"request_id":"126f3350-afae-431e-8863-719e092c89bd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.747441} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d1f8b327e7d0b7b390cea75f95e1046"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"4d1f8b327e7d0b7b390cea75f95e1046","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d1f8b327e7d0b7b390cea75f95e1046"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2ff992876df7377ef4035bb9dc1df63c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.947119,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:42Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841042,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Mn0.BAD3p6-zYbg4iC3vE2KZqnR8ULZBuCGttZswicxPnQU"} 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":"2ff992876df7377ef4035bb9dc1df63c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f06ab1f1-519e-42bf-bd2e-9b57efe7258e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.7829943} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ff992876df7377ef4035bb9dc1df63c"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47d09bc9-e3ed-4774-9d45-119d501863c5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.788978} 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":"2ff992876df7377ef4035bb9dc1df63c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"0a3fc1d2-c0e3-43a5-ab0b-1cee34fed9d1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.8006108} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9656d074-7bdb-4823-a862-f7f4765a26e8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.8008587} 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":"2ff992876df7377ef4035bb9dc1df63c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.800580204Z"}]},"request_id":"f1e64962-ac1b-4c15-b6ef-4f723a7d917f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841042.8061202} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2ff992876df7377ef4035bb9dc1df63c"},"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":"2ff992876df7377ef4035bb9dc1df63c","responseTime":52,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ff992876df7377ef4035bb9dc1df63c"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"5cefa5e654a2a6385fd535881a26929a","responseTime":0,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/09fde52f-8312-4173-a232-8ccec12ce76a/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":"5cefa5e654a2a6385fd535881a26929a"} device_1 | {"level":"info","message":"OPTIONS /devices/09fde52f-8312-4173-a232-8ccec12ce76a/websocket 200 1ms","method":"OPTIONS","requestID":"5cefa5e654a2a6385fd535881a26929a","responseTime":1,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c3b6b4a3bc2e707e223ca85ad34e2d33","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.737064,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3b6b4a3bc2e707e223ca85ad34e2d33"},"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 2ms","method":"GET","requestID":"ba1d6e78b4b049b39e73df6771c383ba","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/09fde52f-8312-4173-a232-8ccec12ce76a/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":"c3b6b4a3bc2e707e223ca85ad34e2d33"} device_1 | {"level":"info","message":"POST /devices/09fde52f-8312-4173-a232-8ccec12ce76a/websocket 200 24ms","method":"POST","requestID":"c3b6b4a3bc2e707e223ca85ad34e2d33","responseTime":24,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/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":"ba1d6e78b4b049b39e73df6771c383ba"} device_1 | {"level":"info","message":"OPTIONS /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/websocket 200 1ms","method":"OPTIONS","requestID":"ba1d6e78b4b049b39e73df6771c383ba","responseTime":1,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"28d72344f61045b1868f3fba3499af79","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997786,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28d72344f61045b1868f3fba3499af79"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"device 'http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/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":"28d72344f61045b1868f3fba3499af79"} device_1 | {"level":"info","message":"POST /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/websocket 200 29ms","method":"POST","requestID":"28d72344f61045b1868f3fba3499af79","responseTime":29,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"9b4a6fd848dfbd457d872d19d955d7c5","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.492607,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4a6fd848dfbd457d872d19d955d7c5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.741096099Z"}]},"request_id":"08ae4642-7084-45cc-b033-b4cdc429ab31","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841044.8740764} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b4a6fd848dfbd457d872d19d955d7c5"},"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":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 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":"9b4a6fd848dfbd457d872d19d955d7c5"} device_1 | {"level":"info","message":"GET /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 200 17ms","method":"GET","requestID":"9b4a6fd848dfbd457d872d19d955d7c5","responseTime":17,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d83a1654fff1643f5586142d00a84c0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.021609,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} 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":"8d83a1654fff1643f5586142d00a84c0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.800580204Z"}]},"request_id":"9e37dca5-86b1-4d0b-97bc-69e56aaefb2b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841044.9016461} 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":"8d83a1654fff1643f5586142d00a84c0"},"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/09fde52f-8312-4173-a232-8ccec12ce76a? 200 21ms","method":"GET","requestID":"8d83a1654fff1643f5586142d00a84c0","responseTime":21,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09fde52f-8312-4173-a232-8ccec12ce76a? 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":"8d83a1654fff1643f5586142d00a84c0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3f83d1500ed58504015ce049984833f5","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:38658","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.419503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} 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":"3f83d1500ed58504015ce049984833f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"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:38658","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.875677,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7edc0e0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816792,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7ee0f00-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.741096099Z"}]},"request_id":"6f444758-688a-488b-b842-4e3bae0b0465","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841044.9856331} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7edc0e0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.800580204Z"}]},"request_id":"77870fa7-1fa6-43be-b39d-9afba23ca8db","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841044.9867496} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e7ee0f00-f804-11ee-96ad-77028417699d"},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 200 19ms","method":"GET","requestID":"e7edc0e0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/09fde52f-8312-4173-a232-8ccec12ce76a? 200 18ms","method":"GET","requestID":"e7ee0f00-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"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:38658","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.334045,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} 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":"e7fa1cf0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.126471,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:34602","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} 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":"e7fa6b10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:34602","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.658885,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"65bf29cd-2f2c-4ea7-a085-3a933d0012a9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.0672371} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","rebac_allow":false,"scope_allow":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":"e7fab930-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.741096099Z"}]},"request_id":"47f7256c-4bd9-4118-9b8e-46d7db6ef567","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.0736718} 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":"e7fa1cf0-f804-11ee-96ad-77028417699d"},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling 200 20ms","method":"POST","requestID":"e7fab930-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.800580204Z"}]},"request_id":"a7ed3e9c-78c3-4cf2-8b46-f99ac86fdf06","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.0781095} 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":"e7fa6b10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F504bcd28-54b9-4cb6-b5c1-f4a8d255f12d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"65c808eb-4235-4d0d-9288-4f4f815ac57e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.083121} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cfce700-c926-4781-8b8a-8f3970941cd3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.0836034} 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":"3f83d1500ed58504015ce049984833f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":16}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 200 35ms","method":"GET","requestID":"e7fa1cf0-f804-11ee-96ad-77028417699d","responseTime":35,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccbf9070-111a-4932-96d2-f29748b67cf3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.0903282} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.15695,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} device_1 | {"level":"info","message":"GET /devices/09fde52f-8312-4173-a232-8ccec12ce76a? 200 34ms","method":"GET","requestID":"e7fa6b10-f804-11ee-96ad-77028417699d","responseTime":34,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","rebac_allow":false,"scope_allow":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":"e7feb0d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"3f83d1500ed58504015ce049984833f5","responseTime":179,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling 200 13ms","method":"POST","requestID":"e7feb0d0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f83d1500ed58504015ce049984833f5"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d7b6453-0acf-4e5c-af87-8468d5c1055a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.1013663} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.257523,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ec4d1cc5c1b18def9166da135b5a09e5","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8005e80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling 200 12ms","method":"POST","requestID":"e8005e80-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.924433,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec4d1cc5c1b18def9166da135b5a09e5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.741096099Z"}]},"request_id":"7fd25b03-1de6-4edb-a570-a66a878b34bb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.1165395} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e874403-267d-4540-b5e7-ccbfb37b9674","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.116704} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec4d1cc5c1b18def9166da135b5a09e5"},"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:38658","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.257344,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","rebac_allow":false,"scope_allow":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":"e802a870-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 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":"ec4d1cc5c1b18def9166da135b5a09e5"} device_1 | {"level":"info","message":"GET /devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01? 200 17ms","method":"GET","requestID":"ec4d1cc5c1b18def9166da135b5a09e5","responseTime":17,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling 200 13ms","method":"POST","requestID":"e802a870-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"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":"804c8a9f-3a6d-43e7-b269-ccf7ab37f78d"},{"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":"6e0f9c66-f2bc-4cca-aaf5-22cfc93459ad"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a8fa9ff7-7a48-4203-a168-d45ac5d7c85d"}]},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01"},{"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/09fde52f-8312-4173-a232-8ccec12ce76a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a3bfdbd6516c44f839a6dbdacd829bed","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.845868,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841044,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NH0.BrGp78CLHa_BUsIWF2njyXCihVIQVdgdRA461Fh9C5o"} 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":"e804f260-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.74444,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a3bfdbd6516c44f839a6dbdacd829bed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"6b1a2bb2-dc7f-4262-8234-f74039783410","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.141597} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8360a485-8812-48ba-9a4d-258d5977a601","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.1417673} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:42.800580204Z"}]},"request_id":"c4cb8f24-e4ab-4be3-81f8-fd11e662985d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.142753} 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":"e804f260-f804-11ee-96ad-77028417699d"},"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":"a3bfdbd6516c44f839a6dbdacd829bed"},"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":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/09fde52f-8312-4173-a232-8ccec12ce76a? 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":"a3bfdbd6516c44f839a6dbdacd829bed"} device_1 | {"level":"info","message":"GET /devices/09fde52f-8312-4173-a232-8ccec12ce76a? 200 20ms","method":"GET","requestID":"a3bfdbd6516c44f839a6dbdacd829bed","responseTime":20,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a?"} 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/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"e804f260-f804-11ee-96ad-77028417699d","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8c2875d4-a3b3-4d75-9c0c-a0cb1ad53afe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.2236795} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.330471,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","rebac_allow":false,"scope_allow":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":"e8132330-f804-11ee-96ad-77028417699d"},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling 200 9ms","method":"POST","requestID":"e8132330-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f39cebf0-de74-4df7-9b67-fd809d576d31","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.2352784} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.114961,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","rebac_allow":false,"scope_allow":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":"e814f7f0-f804-11ee-96ad-77028417699d"},"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/09fde52f-8312-4173-a232-8ccec12ce76a/signaling 200 9ms","method":"POST","requestID":"e814f7f0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","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":"87db249ea8890e3479096eec72b783a9","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/aa359a9e-fe48-4a6e-8832-f032a0c63a01"},{"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/09fde52f-8312-4173-a232-8ccec12ce76a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"87db249ea8890e3479096eec72b783a9","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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":"87db249ea8890e3479096eec72b783a9"} device_1 | {"data":{"peerconnection":"a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","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/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","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":"fd7513aa4657d36712c8319ed134cec3","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/aa359a9e-fe48-4a6e-8832-f032a0c63a01"},{"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/09fde52f-8312-4173-a232-8ccec12ce76a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa3675ac1-1c5e-4c02-9ca3-8b058e5b603f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07ef2880-c9c1-4d0c-bd6f-3a0ae60a82d9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.448646} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.706623,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","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":"e8352a20-f804-11ee-96ad-77028417699d"},"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/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f 200 12ms","method":"GET","requestID":"e8352a20-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 40ms","method":"POST","requestID":"fd7513aa4657d36712c8319ed134cec3","responseTime":40,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.044","http_referrer":"","http_user_agent":"node-fetch","requestID":"fd7513aa4657d36712c8319ed134cec3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ffe1fc0-4c4a-45b2-87d6-243ec2e7cc91","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.4822474} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.764482,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","rebac_allow":false,"scope_allow":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":"e83a5a40-f804-11ee-96ad-77028417699d"},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling 200 14ms","method":"POST","requestID":"e83a5a40-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"62b84933-16a0-4917-827d-729c07d8f05c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.5007925} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.72056,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","rebac_allow":false,"scope_allow":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":"e83cf250-f804-11ee-96ad-77028417699d"},"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/09fde52f-8312-4173-a232-8ccec12ce76a/signaling 200 15ms","method":"POST","requestID":"e83cf250-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad731bf7085e4a161a141e159d7bef0a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.265424,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} 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":"ad731bf7085e4a161a141e159d7bef0a"},"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/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} gateway_1 | {"time_local":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad731bf7085e4a161a141e159d7bef0a"} experiment_1 | {"level":"info","message":"GET /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d 200 20ms","method":"GET","requestID":"ad731bf7085e4a161a141e159d7bef0a","responseTime":20,"status":200,"url":"/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f7b422deb00d52d44a17f323635f066f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.41312,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} 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":"f7b422deb00d52d44a17f323635f066f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.183941,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} 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":"e84aadf0-f804-11ee-96ad-77028417699d"},"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/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a3675ac1-1c5e-4c02-9ca3-8b058e5b603f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa3675ac1-1c5e-4c02-9ca3-8b058e5b603f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa3675ac1-1c5e-4c02-9ca3-8b058e5b603f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"db1a49ad-4d4d-4bbd-9778-e88a923adefd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.6108112} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9d72fd712f7967941b7ac275d2529e7e","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8d79dbfc-467b-4bbd-a6d8-b3d767e3ff7a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.6139197} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01"},{"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/09fde52f-8312-4173-a232-8ccec12ce76a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d2d761a1feca1b41f44261571db13f25","responseTime":2,"status":200,"url":"/auth"} 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":"e84aadf0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} 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/aa359a9e-fe48-4a6e-8832-f032a0c63a01"},{"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/09fde52f-8312-4173-a232-8ccec12ce76a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f 204 55ms","method":"DELETE","requestID":"e84aadf0-f804-11ee-96ad-77028417699d","responseTime":55,"status":204,"url":"/peerconnections/a3675ac1-1c5e-4c02-9ca3-8b058e5b603f"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Faa359a9e-fe48-4a6e-8832-f032a0c63a01","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1d84a7e-ee33-4546-baaf-6ef2bc0af151","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.6692905} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.950271,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01","object_type":"device","rebac_allow":false,"scope_allow":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":"e8570a00-f804-11ee-96ad-77028417699d"},"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/aa359a9e-fe48-4a6e-8832-f032a0c63a01/signaling 200 18ms","method":"POST","requestID":"e8570a00-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01/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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf0c76c5-285e-47d3-9f79-e518a2ebc5d6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.681955} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F504bcd28-54b9-4cb6-b5c1-f4a8d255f12d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F504bcd28-54b9-4cb6-b5c1-f4a8d255f12d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"4352b1b9-784e-4e38-ae3c-6c68742a346b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.6820924} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7b422deb00d52d44a17f323635f066f"},"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:38658","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F09fde52f-8312-4173-a232-8ccec12ce76a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"547cec79-8278-4ccd-8a02-f63d046646f7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.6946049} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.528909,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/09fde52f-8312-4173-a232-8ccec12ce76a","object_type":"device","rebac_allow":false,"scope_allow":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":"e85a6560-f804-11ee-96ad-77028417699d"},"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/09fde52f-8312-4173-a232-8ccec12ce76a/signaling 200 20ms","method":"POST","requestID":"e85a6560-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/09fde52f-8312-4173-a232-8ccec12ce76a/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} gateway_1 | {"time_local":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.332","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7b422deb00d52d44a17f323635f066f"} experiment_1 | {"level":"info","message":"DELETE /experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d 204 327ms","method":"DELETE","requestID":"f7b422deb00d52d44a17f323635f066f","responseTime":327,"status":204,"url":"/experiments/504bcd28-54b9-4cb6-b5c1-f4a8d255f12d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 282ms","method":"POST","requestID":"9d72fd712f7967941b7ac275d2529e7e","responseTime":282,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.287","http_referrer":"","http_user_agent":"node-fetch","requestID":"9d72fd712f7967941b7ac275d2529e7e"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.288","http_referrer":"","http_user_agent":"node-fetch","requestID":"d2d761a1feca1b41f44261571db13f25"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 280ms","method":"POST","requestID":"d2d761a1feca1b41f44261571db13f25","responseTime":280,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab226898cb80031648c14b081095e661","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2165","request_time":"1.107","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6806aaefc54cf9cc81113c73f382ebe5"} gateway_1 | {"time_local":"11/Apr/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2438","request_time":"1.066","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"95b95c02d930d87c2173a68931b7c7f5"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.763442,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:45Z"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/aa359a9e-fe48-4a6e-8832-f032a0c63a01' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841045,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0NX0.mVPx_kyzQ0NzJZDRY0yEUVzLP7rQ7gHpYxZ6yMrRsSM"} 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":"ab226898cb80031648c14b081095e661"},"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/09fde52f-8312-4173-a232-8ccec12ce76a' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2e8f815a-924f-48a9-b59f-531aba0dbe08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841045.999098} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab226898cb80031648c14b081095e661"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"14a5320f-a7c6-43ff-b043-798d291d157b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.004044} 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":"ab226898cb80031648c14b081095e661"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"6ba3bc1d-f5f8-40d3-85af-6a8d67289da4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0145133} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"190367e6-05a7-48b0-a511-dc67facb17ac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0147057} 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":"ab226898cb80031648c14b081095e661"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.014496753Z"}]},"request_id":"932d42b0-acd1-45dc-9f6a-97861c4793aa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.019647} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab226898cb80031648c14b081095e661"},"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 111ms","method":"POST","requestID":"ab226898cb80031648c14b081095e661","responseTime":111,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab226898cb80031648c14b081095e661"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a2918ac63f5c8c03d8ddfb92f01503dd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.720689,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841046,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk"} 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":"a2918ac63f5c8c03d8ddfb92f01503dd"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1c2aa2b8-89cf-4ec5-9737-c36e40803f32","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0487328} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2918ac63f5c8c03d8ddfb92f01503dd"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"94e75c35-b755-4dff-8fac-bf12acb2d8a4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0546076} 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":"a2918ac63f5c8c03d8ddfb92f01503dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"2ac0bc31-1a1a-4daa-89eb-143af81bb4b9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.065275} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35551020-193f-4794-86b2-27640a7db4d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0653985} 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":"a2918ac63f5c8c03d8ddfb92f01503dd"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"d36398c8-b8bf-4325-860c-d08f1d669358","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.0712748} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a2918ac63f5c8c03d8ddfb92f01503dd"},"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":"a2918ac63f5c8c03d8ddfb92f01503dd","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2918ac63f5c8c03d8ddfb92f01503dd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"02708904f23d719ffef273f8c7279d13","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.216901,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841046,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02708904f23d719ffef273f8c7279d13"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"6cbcc80a-7aa9-4d0a-9a70-f558b5d4d3bb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.5820737} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02708904f23d719ffef273f8c7279d13"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01385306-b784-4f24-a406-9543a2aab891","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.5895135} 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":"02708904f23d719ffef273f8c7279d13"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"1d4e0360-1518-4aab-bf78-819acb00cdee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841046.6088388} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02708904f23d719ffef273f8c7279d13"},"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":"11/Apr/2024:13:10:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b1b7589a-38af-43ed-b322-d69e517d95cc HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"02708904f23d719ffef273f8c7279d13"} device_1 | {"level":"info","message":"PATCH /devices/b1b7589a-38af-43ed-b322-d69e517d95cc 200 45ms","method":"PATCH","requestID":"02708904f23d719ffef273f8c7279d13","responseTime":45,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e54eadc73fe824fadd6279556c17fd76","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.222971,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:46Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841046,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0Nn0.g0ajU9vZfEF7ceREJ42t3jXjkWemYHOecdcVXDsI2Tk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e54eadc73fe824fadd6279556c17fd76"},"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":"11/Apr/2024:13:10:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b1b7589a-38af-43ed-b322-d69e517d95cc/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e54eadc73fe824fadd6279556c17fd76"} device_1 | {"level":"info","message":"POST /devices/b1b7589a-38af-43ed-b322-d69e517d95cc/websocket 200 22ms","method":"POST","requestID":"e54eadc73fe824fadd6279556c17fd76","responseTime":22,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc' 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":"c10db23ec6f4793bda475c354e9eca7e","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/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":"c10db23ec6f4793bda475c354e9eca7e"} device_1 | {"level":"info","message":"OPTIONS /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/websocket 200 1ms","method":"OPTIONS","requestID":"c10db23ec6f4793bda475c354e9eca7e","responseTime":1,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1eae34ad07da32003428cd22df77a8fe","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127525,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1eae34ad07da32003428cd22df77a8fe"},"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":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/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":"1eae34ad07da32003428cd22df77a8fe"} device_1 | {"level":"info","message":"POST /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/websocket 200 30ms","method":"POST","requestID":"1eae34ad07da32003428cd22df77a8fe","responseTime":30,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fd0e5e9d9bffd47a1e6ffb221730003a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.625829,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd0e5e9d9bffd47a1e6ffb221730003a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.014496753Z"}]},"request_id":"985d4791-b2ba-4411-8b9d-ab51ef0d3e71","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.1617548} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fd0e5e9d9bffd47a1e6ffb221730003a"},"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":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b? 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":"fd0e5e9d9bffd47a1e6ffb221730003a"} device_1 | {"level":"info","message":"GET /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b? 200 21ms","method":"GET","requestID":"fd0e5e9d9bffd47a1e6ffb221730003a","responseTime":21,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ec58de2907a72da683ff8b7c7d7062c1","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.281629,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec58de2907a72da683ff8b7c7d7062c1"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"0e64c2ed-8004-4a5e-bfc7-69fcb953a7f5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.1963758} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec58de2907a72da683ff8b7c7d7062c1"},"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":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec58de2907a72da683ff8b7c7d7062c1"} device_1 | {"level":"info","message":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? 200 21ms","method":"GET","requestID":"ec58de2907a72da683ff8b7c7d7062c1","responseTime":21,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"22886e90f64e9120adbdcda521310397","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:38658","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.95766,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"22886e90f64e9120adbdcda521310397"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"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:38658","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894402,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9e57230-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.497951,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"e9e5c050-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.014496753Z"}]},"request_id":"08a52c70-5e05-4511-ba40-d20664b757ba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.288691} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9e57230-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"2644f383-f840-42ab-972d-753210d1d315","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.29043} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9e5c050-f804-11ee-96ad-77028417699d"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b? 200 23ms","method":"GET","requestID":"e9e57230-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? 200 23ms","method":"GET","requestID":"e9e5c050-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"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:38658","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.378708,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"e9f37bf0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.416993,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"e9f3ca10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":7.379249,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3212e474-4c80-4a5d-92b8-96fb25038f97","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.3860877} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e9f43f40-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.014496753Z"}]},"request_id":"dfaf8e4f-9281-4b18-aa4a-f4e1c1628303","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.3973737} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"05e97b7e-59cd-4d08-92bd-a72a2b431885","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.3992836} 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":"e9f37bf0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"level":"info","message":"POST /relations/query 200 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":"e9f3ca10-f804-11ee-96ad-77028417699d"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling 200 39ms","method":"POST","requestID":"e9f43f40-f804-11ee-96ad-77028417699d","responseTime":39,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b? 200 46ms","method":"GET","requestID":"e9f37bf0-f804-11ee-96ad-77028417699d","responseTime":46,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? 200 46ms","method":"GET","requestID":"e9f3ca10-f804-11ee-96ad-77028417699d","responseTime":46,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe7cfca7c-c5db-40c5-86b2-9209266e783c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe7cfca7c-c5db-40c5-86b2-9209266e783c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"99c24fb9-e681-47ea-927c-a086cf34cf81","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.41723} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1193457e-f51e-4589-8e19-352fe76081b2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.4177523} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"22886e90f64e9120adbdcda521310397"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":30}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.373217,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56ad85df-b1ce-4446-952c-97d8f58bd0f6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.424744} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","rebac_allow":false,"scope_allow":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":"e9faf600-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b03088e2-9121-414a-9550-ad2ee482cf4c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.4291568} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.120643,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","rebac_allow":false,"scope_allow":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":"e9fb9240-f804-11ee-96ad-77028417699d"},"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/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling 200 19ms","method":"POST","requestID":"e9faf600-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling 200 17ms","method":"POST","requestID":"e9fb9240-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 226ms","method":"POST","requestID":"22886e90f64e9120adbdcda521310397","responseTime":226,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.237","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22886e90f64e9120adbdcda521310397"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"045cc3b5775fcf7728a4c46de8be30dd","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"42700947-59bd-4d70-9fd3-5e9a408969ab","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.4493709} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.075694,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","rebac_allow":false,"scope_allow":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":"e9ff14b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823386,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"045cc3b5775fcf7728a4c46de8be30dd"},"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/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling 200 14ms","method":"POST","requestID":"e9ff14b0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.014496753Z"}]},"request_id":"d152cf0e-046d-4be4-a192-b6ac95bcfe94","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.457278} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"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":"000857e8-79b6-444d-adaa-d0770602a78c"},{"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":"f2218aa3-424c-4a2c-bcc2-42ba8a9e3482"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"06ad3bb0-820e-41a6-8a5e-9e7a742de3cd"}]},"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":"045cc3b5775fcf7728a4c46de8be30dd"},"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":"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/321a19ea-bd1f-4aaf-9323-eaff3326772b"},{"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/b1b7589a-38af-43ed-b322-d69e517d95cc"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b? 200 15ms","method":"GET","requestID":"045cc3b5775fcf7728a4c46de8be30dd","responseTime":15,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/321a19ea-bd1f-4aaf-9323-eaff3326772b? 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":"045cc3b5775fcf7728a4c46de8be30dd"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.889251,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"ea01d3d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f88588598ef2d09148cce734e38203ea","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998841,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f88588598ef2d09148cce734e38203ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a6bb49c5-0cb2-4095-9938-b6be86e141e3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.4754765} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"599ffccd-c941-4ceb-8697-2ec3154ef5e6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.4756286} 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":"ea01d3d0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:46.065258546Z"}]},"request_id":"3a3bb61c-bd23-4852-bca1-9ec035c5bdba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.480392} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f88588598ef2d09148cce734e38203ea"},"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/259628b6-784b-418a-b18e-c9f93cd62792'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 46ms","method":"POST","requestID":"ea01d3d0-f804-11ee-96ad-77028417699d","responseTime":46,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? 200 39ms","method":"GET","requestID":"f88588598ef2d09148cce734e38203ea","responseTime":39,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b1b7589a-38af-43ed-b322-d69e517d95cc? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f88588598ef2d09148cce734e38203ea"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46582ed0-209d-4a1c-9e0c-f91912c15ed4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.543894} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943956,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","rebac_allow":false,"scope_allow":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":"ea0dbab0-f804-11ee-96ad-77028417699d"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling 200 10ms","method":"POST","requestID":"ea0dbab0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16b11cf2-15c0-4705-84ca-a6e51c5ddbe2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.5566068} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.089879,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","rebac_allow":false,"scope_allow":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":"ea0f8f70-f804-11ee-96ad-77028417699d"},"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/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling 200 12ms","method":"POST","requestID":"ea0f8f70-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","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":"80f9c466083c795f65c62cc52fd25640","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/321a19ea-bd1f-4aaf-9323-eaff3326772b"},{"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/b1b7589a-38af-43ed-b322-d69e517d95cc"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"}}},"level":"info","message":"received a callback"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"80f9c466083c795f65c62cc52fd25640"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"80f9c466083c795f65c62cc52fd25640","responseTime":4,"status":200,"url":"/callbacks/experiment"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","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/259628b6-784b-418a-b18e-c9f93cd62792' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","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":"a9fe544722efd5819aa983522857f40b","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/321a19ea-bd1f-4aaf-9323-eaff3326772b"},{"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/b1b7589a-38af-43ed-b322-d69e517d95cc"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F259628b6-784b-418a-b18e-c9f93cd62792","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20f5d4bf-474d-42ef-a180-fe7ca97409c1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.629806} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.786737,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792","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":"ea1ab300-f804-11ee-96ad-77028417699d"},"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/259628b6-784b-418a-b18e-c9f93cd62792 200 11ms","method":"GET","requestID":"ea1ab300-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 32ms","method":"POST","requestID":"a9fe544722efd5819aa983522857f40b","responseTime":32,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"a9fe544722efd5819aa983522857f40b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e862fd19-a99b-43fc-b243-d43777f039c0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.6565595} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.804122,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","rebac_allow":false,"scope_allow":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":"ea1ed1b0-f804-11ee-96ad-77028417699d"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling 200 11ms","method":"POST","requestID":"ea1ed1b0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a24fa00c-d9d3-4f1c-9b33-0763b35d09ee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.6692743} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.595364,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","rebac_allow":false,"scope_allow":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":"ea20cd80-f804-11ee-96ad-77028417699d"},"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/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling 200 10ms","method":"POST","requestID":"ea20cd80-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ae6f975e10cadc4bbd515c23cb9ed609","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.283199,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"ae6f975e10cadc4bbd515c23cb9ed609"},"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/e7cfca7c-c5db-40c5-86b2-9209266e783c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae6f975e10cadc4bbd515c23cb9ed609"} experiment_1 | {"level":"info","message":"GET /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c 200 19ms","method":"GET","requestID":"ae6f975e10cadc4bbd515c23cb9ed609","responseTime":19,"status":200,"url":"/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b8de4943518517dba33d7f98fcfb3543","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.337978,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"b8de4943518517dba33d7f98fcfb3543"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.207446,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"ea3084f0-f804-11ee-96ad-77028417699d"},"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/259628b6-784b-418a-b18e-c9f93cd62792' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","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":"504ae19fb3541d0ee02412a38c26f665","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F259628b6-784b-418a-b18e-c9f93cd62792': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F259628b6-784b-418a-b18e-c9f93cd62792","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"4f4f97e8-fe9a-42fd-b81b-c7d67b1686d5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.7938666} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ea10e35-6e18-4096-8d51-663cf06b3d08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.7945428} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b"},{"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/b1b7589a-38af-43ed-b322-d69e517d95cc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"053fe60c578ccbe9f1cc9fc05a155a5c","responseTime":3,"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":"ea3084f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/321a19ea-bd1f-4aaf-9323-eaff3326772b"},{"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/b1b7589a-38af-43ed-b322-d69e517d95cc"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"259628b6-784b-418a-b18e-c9f93cd62792","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/259628b6-784b-418a-b18e-c9f93cd62792 204 65ms","method":"DELETE","requestID":"ea3084f0-f804-11ee-96ad-77028417699d","responseTime":65,"status":204,"url":"/peerconnections/259628b6-784b-418a-b18e-c9f93cd62792"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F321a19ea-bd1f-4aaf-9323-eaff3326772b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"401a7a56-ffc4-414e-b279-371e1e2740e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.8550599} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.902752,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b","object_type":"device","rebac_allow":false,"scope_allow":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":"ea3d2f20-f804-11ee-96ad-77028417699d"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling 200 11ms","method":"POST","requestID":"ea3d2f20-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/321a19ea-bd1f-4aaf-9323-eaff3326772b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe7cfca7c-c5db-40c5-86b2-9209266e783c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe7cfca7c-c5db-40c5-86b2-9209266e783c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"548924ac-318b-4374-b3d4-446afce15dca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.865072} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c04f27d3-430d-4bae-b417-a47d3170af1d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.8655186} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} 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":"b8de4943518517dba33d7f98fcfb3543"},"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:38658","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.636848,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb1b7589a-38af-43ed-b322-d69e517d95cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c859df48-7180-4dc4-85b7-0d5e69832420","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.8682337} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc","object_type":"device","rebac_allow":false,"scope_allow":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":"ea3f2af0-f804-11ee-96ad-77028417699d"},"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/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling 200 12ms","method":"POST","requestID":"ea3f2af0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/b1b7589a-38af-43ed-b322-d69e517d95cc/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c 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":"b8de4943518517dba33d7f98fcfb3543"} experiment_1 | {"level":"info","message":"DELETE /experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c 204 179ms","method":"DELETE","requestID":"b8de4943518517dba33d7f98fcfb3543","responseTime":179,"status":204,"url":"/experiments/e7cfca7c-c5db-40c5-86b2-9209266e783c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2117","request_time":"2.285","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1b7c7c680ced825a37257a7d6969d8ce"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 135ms","method":"POST","requestID":"504ae19fb3541d0ee02412a38c26f665","responseTime":135,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"504ae19fb3541d0ee02412a38c26f665"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"053fe60c578ccbe9f1cc9fc05a155a5c","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.142","http_referrer":"","http_user_agent":"node-fetch","requestID":"053fe60c578ccbe9f1cc9fc05a155a5c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"79818948f9453287f9b6c2840705ce9e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.814","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b1902e5aeed1d5d61fc8f2d91c9531e2"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.466641,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b1b7589a-38af-43ed-b322-d69e517d95cc' closed"} 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":"79818948f9453287f9b6c2840705ce9e"},"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/321a19ea-bd1f-4aaf-9323-eaff3326772b' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"97bce3e3-988d-4d38-bbfa-f6a4bb8b4ecd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.9584298} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79818948f9453287f9b6c2840705ce9e"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"041af271-959e-4ffb-a9e7-783fdab5e41a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.9647992} 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":"79818948f9453287f9b6c2840705ce9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"52b6603c-e657-4fc0-a44a-5ac6fafd4ceb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.9752247} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7984aefb-ce13-4309-8d32-a3bba5d199e2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.9754217} 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":"79818948f9453287f9b6c2840705ce9e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:48.975205459Z"}]},"request_id":"b6b54240-6120-418a-8a7f-12c0efbea0fd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841048.9808445} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79818948f9453287f9b6c2840705ce9e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"79818948f9453287f9b6c2840705ce9e","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"79818948f9453287f9b6c2840705ce9e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0a130dcb906fbed3ac7932b19e726ed9","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.803349,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841048,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OH0.sw4VYyWY6p8wMhrWAzft9m2jqtv_t8JBhOeMtAtXc4w"} 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":"0a130dcb906fbed3ac7932b19e726ed9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"37901568-8550-481f-b966-9701002cc9bd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.0047045} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a130dcb906fbed3ac7932b19e726ed9"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e08699ff-9314-46f6-88c5-6dc9b8449eb6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.0096993} 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":"0a130dcb906fbed3ac7932b19e726ed9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"f14144d1-cd72-40b0-8cfd-dfbd5f64c5f8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.018261} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28958b1b-af38-4c3c-8634-986a08166a05","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.018523} 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":"0a130dcb906fbed3ac7932b19e726ed9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"52577bbc-1b40-4e1a-a513-e7492b7dee7b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.0230653} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0a130dcb906fbed3ac7932b19e726ed9"},"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":"0a130dcb906fbed3ac7932b19e726ed9","responseTime":36,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0a130dcb906fbed3ac7932b19e726ed9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OX0.AqfDqBDdd_Go_lmh46G3GZkf9PFyzBl8VP5-lYADFIA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7bc732f2885ac8841ce9b446629fc79b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84794,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841049,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OX0.AqfDqBDdd_Go_lmh46G3GZkf9PFyzBl8VP5-lYADFIA"} 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":"7bc732f2885ac8841ce9b446629fc79b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"e7304f22-3d4a-4d95-9603-f7413b75bedd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.5115328} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc732f2885ac8841ce9b446629fc79b"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0b92824b-fb43-4ed5-b812-24ea98645be7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.517918} 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":"7bc732f2885ac8841ce9b446629fc79b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"02d9bdaf-95bc-4680-a5b0-3b2fefb0403d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841049.5348842} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7bc732f2885ac8841ce9b446629fc79b"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c 200 37ms","method":"PATCH","requestID":"7bc732f2885ac8841ce9b446629fc79b","responseTime":38,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c"} gateway_1 | {"time_local":"11/Apr/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4f7794e4-898e-4993-a21e-09a4275eac8c HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7bc732f2885ac8841ce9b446629fc79b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OX0.AqfDqBDdd_Go_lmh46G3GZkf9PFyzBl8VP5-lYADFIA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f75a8dd5ec013a9c21421f61411cb77e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.786625,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841049,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA0OX0.AqfDqBDdd_Go_lmh46G3GZkf9PFyzBl8VP5-lYADFIA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f75a8dd5ec013a9c21421f61411cb77e"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c/websocket 200 18ms","method":"POST","requestID":"f75a8dd5ec013a9c21421f61411cb77e","responseTime":18,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4f7794e4-898e-4993-a21e-09a4275eac8c/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.3","requestID":"f75a8dd5ec013a9c21421f61411cb77e"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c' 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":"01416b0988069b7d10563b70a9bc5fc2","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/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":"01416b0988069b7d10563b70a9bc5fc2"} device_1 | {"level":"info","message":"OPTIONS /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/websocket 200 1ms","method":"OPTIONS","requestID":"01416b0988069b7d10563b70a9bc5fc2","responseTime":1,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"acfaed76d594f1e2cf4b2f6ae1fd175b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.361454,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acfaed76d594f1e2cf4b2f6ae1fd175b"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38/websocket 200 30ms","method":"POST","requestID":"acfaed76d594f1e2cf4b2f6ae1fd175b","responseTime":30,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/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":"acfaed76d594f1e2cf4b2f6ae1fd175b"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c538481cb3765ba00e2bba35ee2b2bb5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019912,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c538481cb3765ba00e2bba35ee2b2bb5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:48.975205459Z"}]},"request_id":"e6d5b39d-ef5f-4941-a02b-c5ad99272d24","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.0953662} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c538481cb3765ba00e2bba35ee2b2bb5"},"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":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38? 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":"c538481cb3765ba00e2bba35ee2b2bb5"} device_1 | {"level":"info","message":"GET /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38? 200 16ms","method":"GET","requestID":"c538481cb3765ba00e2bba35ee2b2bb5","responseTime":16,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a8c3885d995480428af4261ace00b114","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277825,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8c3885d995480428af4261ace00b114"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"def9152a-2048-46f8-b95c-3df0c263007d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.1219153} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a8c3885d995480428af4261ace00b114"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c? 200 19ms","method":"GET","requestID":"a8c3885d995480428af4261ace00b114","responseTime":19,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4f7794e4-898e-4993-a21e-09a4275eac8c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a8c3885d995480428af4261ace00b114"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"08586c5860e04a53ce837ed8d89fb389","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:38658","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.229011,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} 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":"08586c5860e04a53ce837ed8d89fb389"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"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:38658","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67282,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba1a120-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871937,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba1c830-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:48.975205459Z"}]},"request_id":"bcd56f56-f5c1-40ea-ad23-eaf88f292df4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.1944883} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba1a120-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"e79fc067-e67c-4f97-9e40-52987301ff9b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.1957269} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eba1c830-f804-11ee-96ad-77028417699d"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38? 200 14ms","method":"GET","requestID":"eba1a120-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4f7794e4-898e-4993-a21e-09a4275eac8c? 200 14ms","method":"GET","requestID":"eba1c830-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"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:38658","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.353959,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} 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":"ebad60f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205899,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} 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":"ebadaf10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.672366,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eaf75a79-05d5-4559-962c-72d4856f4f90","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.2786932} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","rebac_allow":false,"scope_allow":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":"ebae2440-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:48.975205459Z"}]},"request_id":"e6fa93ea-dd63-41b0-8ba7-2768d375ce33","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.2823398} 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":"ebad60f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"3fae8003-d0c7-4a75-9402-1350ad9bf7e8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.287126} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling 200 20ms","method":"POST","requestID":"ebae2440-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebadaf10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"0c4ddfa4-4c43-4ec6-9c4e-2711c0bf3103","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.291878} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab715d3a-9444-4131-931c-db061c8cf5c8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.292137} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} 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":"08586c5860e04a53ce837ed8d89fb389"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":15}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38? 200 33ms","method":"GET","requestID":"ebad60f0-f804-11ee-96ad-77028417699d","responseTime":33,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4f7794e4-898e-4993-a21e-09a4275eac8c? 200 32ms","method":"GET","requestID":"ebadaf10-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f8d4c370-17d2-4821-b8fb-2ffcb75b5236","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.2983627} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.000989,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","rebac_allow":false,"scope_allow":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":"ebb1f4d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment_1 | {"level":"info","message":"POST /experiments? 201 169ms","method":"POST","requestID":"08586c5860e04a53ce837ed8d89fb389","responseTime":169,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling 200 13ms","method":"POST","requestID":"ebb1f4d0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"43d79576-d62b-45a4-ba63-2fd57bb2ddd7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.307929} gateway_1 | {"time_local":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.177","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08586c5860e04a53ce837ed8d89fb389"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.613238,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","rebac_allow":false,"scope_allow":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":"ebb37b70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"edb392b900e2d1f478a4bcf840b86b67","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling 200 10ms","method":"POST","requestID":"ebb37b70-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893494,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edb392b900e2d1f478a4bcf840b86b67"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"952c69d8-e6eb-44aa-b7e8-67b3a632f32d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.3191123} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.43002,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","rebac_allow":false,"scope_allow":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":"ebb55030-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:48.975205459Z"}]},"request_id":"e8a247bb-fbad-41b6-81e9-d138d85b1249","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.324918} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling 200 10ms","method":"POST","requestID":"ebb55030-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/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":"edb392b900e2d1f478a4bcf840b86b67"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"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":"5b7d77b4-391f-4be9-a612-69add4dba243"},{"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":"6ca797a6-c992-4aed-90b3-f001e7b47dbc"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dbcba61f-6473-4a3a-b8f9-379bc0404675"}]},"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/4f7794e4-898e-4993-a21e-09a4275eac8c"},{"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/9b94f450-a362-4eae-97d4-0873ea8c3f38"}],"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:38658","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} device_1 | {"level":"info","message":"GET /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38? 200 20ms","method":"GET","requestID":"edb392b900e2d1f478a4bcf840b86b67","responseTime":20,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.911732,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} gateway_1 | {"time_local":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9b94f450-a362-4eae-97d4-0873ea8c3f38? 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":"edb392b900e2d1f478a4bcf840b86b67"} 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":"ebb77310-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cf75b9d494e94f1322592b5f62ae2295","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650756,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841051,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1MX0.HyK_LQt6-VlY4w4APSNSIJFVyOIw2JbLvRRDPbs6Jy0"} 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":"cf75b9d494e94f1322592b5f62ae2295"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3f22564d-89c5-4b6d-a10e-7da447070342","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.3516514} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"050f8440-bb28-49d5-9dce-de6cb25ad7ff","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.3519967} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebb77310-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:49.018242519Z"}]},"request_id":"708bd315-848e-4760-a49b-593d43b2b809","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.3539066} 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":"cf75b9d494e94f1322592b5f62ae2295"},"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":"11/Apr/2024:13:10:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4f7794e4-898e-4993-a21e-09a4275eac8c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf75b9d494e94f1322592b5f62ae2295"} device_1 | {"level":"info","message":"GET /devices/4f7794e4-898e-4993-a21e-09a4275eac8c? 200 22ms","method":"GET","requestID":"cf75b9d494e94f1322592b5f62ae2295","responseTime":22,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c?"} 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/755cbea4-5c2a-4f71-98db-9a828847014e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e'"} 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":"ebb77310-f804-11ee-96ad-77028417699d","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/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"807f875b-a289-4416-9bde-9b3f14b33020","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.4167533} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.595135,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","rebac_allow":false,"scope_allow":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":"ebc3f630-f804-11ee-96ad-77028417699d"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling 200 10ms","method":"POST","requestID":"ebc3f630-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d4f76fe-4bac-4e98-a60a-3297f017c8e7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841051.4293008} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.192719,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:51Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","rebac_allow":false,"scope_allow":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":"ebc61910-f804-11ee-96ad-77028417699d"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling 200 9ms","method":"POST","requestID":"ebc61910-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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/755cbea4-5c2a-4f71-98db-9a828847014e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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":"45b11fb02b98afcec355b65805870f50","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c"},{"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/9b94f450-a362-4eae-97d4-0873ea8c3f38"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"45b11fb02b98afcec355b65805870f50","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch","requestID":"45b11fb02b98afcec355b65805870f50"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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/755cbea4-5c2a-4f71-98db-9a828847014e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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":"14ed0e8152aac7bbcd3de794e72b9e1e","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/4f7794e4-898e-4993-a21e-09a4275eac8c"},{"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/9b94f450-a362-4eae-97d4-0873ea8c3f38"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F755cbea4-5c2a-4f71-98db-9a828847014e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9968465f-ad6d-4451-81ba-0a61cc777dde","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.516587} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.084819,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e","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":"ec6b80d0-f804-11ee-96ad-77028417699d"},"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/755cbea4-5c2a-4f71-98db-9a828847014e 200 14ms","method":"GET","requestID":"ec6b80d0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 48ms","method":"POST","requestID":"14ed0e8152aac7bbcd3de794e72b9e1e","responseTime":48,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"14ed0e8152aac7bbcd3de794e72b9e1e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48c5c515-54b3-4dad-803d-e6cf28fe28f8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.5563064} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.738277,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","rebac_allow":false,"scope_allow":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":"ec719b50-f804-11ee-96ad-77028417699d"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling 200 16ms","method":"POST","requestID":"ec719b50-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0dae51fb2c4e999f416d616554e5692a","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"19fe51a1-d760-4576-9f54-3af4c834f52d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.5782804} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.323621,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","rebac_allow":false,"scope_allow":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":"ec748180-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.652462,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841052,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g"} 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":"0dae51fb2c4e999f416d616554e5692a"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling 200 22ms","method":"POST","requestID":"ec748180-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0dae51fb2c4e999f416d616554e5692a"} experiment_1 | {"level":"info","message":"GET /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f 200 22ms","method":"GET","requestID":"0dae51fb2c4e999f416d616554e5692a","responseTime":22,"status":200,"url":"/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c03793a6cb398394f57ba6acc1cdf0b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.010845,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841052,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g"} 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":"8c03793a6cb398394f57ba6acc1cdf0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.219125,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841052,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g"} 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":"ec7d0d00-f804-11ee-96ad-77028417699d"},"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/755cbea4-5c2a-4f71-98db-9a828847014e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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":"f4c81e63602233979f4ed2d97110b252","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c"},{"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/9b94f450-a362-4eae-97d4-0873ea8c3f38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"}}},"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":"3990b24c8ef1bd22417729777b296324","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/4f7794e4-898e-4993-a21e-09a4275eac8c"},{"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/9b94f450-a362-4eae-97d4-0873ea8c3f38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F755cbea4-5c2a-4f71-98db-9a828847014e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F755cbea4-5c2a-4f71-98db-9a828847014e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"5c3117e9-7cd5-4c91-b08e-3de9cdf2b5c8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.6589954} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"206b49a2-f333-4351-9186-dfef63850a86","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.6592627} 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":"ec7d0d00-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"data":{"peerconnection":"755cbea4-5c2a-4f71-98db-9a828847014e","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/755cbea4-5c2a-4f71-98db-9a828847014e 204 57ms","method":"DELETE","requestID":"ec7d0d00-f804-11ee-96ad-77028417699d","responseTime":57,"status":204,"url":"/peerconnections/755cbea4-5c2a-4f71-98db-9a828847014e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4f7794e4-898e-4993-a21e-09a4275eac8c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"66b6ddaf-862b-48d8-a91e-20afc0568a33","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.710281} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.281415,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c","object_type":"device","rebac_allow":false,"scope_allow":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":"ec894200-f804-11ee-96ad-77028417699d"},"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/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling 200 12ms","method":"POST","requestID":"ec894200-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/4f7794e4-898e-4993-a21e-09a4275eac8c/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"5cf6d9a4-704a-44ed-8a26-aab5a18a5a74","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.7189543} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3ddde250-5fa8-41ef-90e9-261c3fce1a3d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.7193596} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c03793a6cb398394f57ba6acc1cdf0b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9b94f450-a362-4eae-97d4-0873ea8c3f38","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a5bfddf5-250b-423b-89da-b150de5d5c78","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.7258554} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.744191,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38","object_type":"device","rebac_allow":false,"scope_allow":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":"ec8b8bf0-f804-11ee-96ad-77028417699d"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling 200 13ms","method":"POST","requestID":"ec8b8bf0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/9b94f450-a362-4eae-97d4-0873ea8c3f38/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f 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":"8c03793a6cb398394f57ba6acc1cdf0b"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2434","request_time":"3.213","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c11a3fc707a9dfa5b70c0d5650e92760"} experiment_1 | {"level":"info","message":"DELETE /experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f 204 170ms","method":"DELETE","requestID":"8c03793a6cb398394f57ba6acc1cdf0b","responseTime":170,"status":204,"url":"/experiments/2fbd6dac-d1b5-4949-ae1c-fe5f72e7bb9f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"f4c81e63602233979f4ed2d97110b252","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.130","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4c81e63602233979f4ed2d97110b252"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 125ms","method":"POST","requestID":"3990b24c8ef1bd22417729777b296324","responseTime":125,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"3990b24c8ef1bd22417729777b296324"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7be358ce82efbf337b3558dfe1224bf4","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"1.727","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"570a3c6e7bcbfddf730dda66db0f4add"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.037864,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841052,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4f7794e4-898e-4993-a21e-09a4275eac8c' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7be358ce82efbf337b3558dfe1224bf4"},"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/9b94f450-a362-4eae-97d4-0873ea8c3f38' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"1fef88c3-378c-46aa-9ac3-bdbd9d17ceac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.804725} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7be358ce82efbf337b3558dfe1224bf4"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b397dba1-d88e-43f5-8956-5db46d71b604","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8101027} 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":"7be358ce82efbf337b3558dfe1224bf4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"5de653ec-21b9-4475-89b5-14a4e63971af","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8205996} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae47d22c-5f2d-4a66-ab89-ed485313090a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8209567} 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":"7be358ce82efbf337b3558dfe1224bf4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"6a5c3c04-410b-4136-82ff-e812b66bebd0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8262126} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7be358ce82efbf337b3558dfe1224bf4"},"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":"7be358ce82efbf337b3558dfe1224bf4","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +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":"7be358ce82efbf337b3558dfe1224bf4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"90045c1960dc25422464388b147595aa","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.749617,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841052,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Mn0.MXhg-Q_h1VWzf8fnNJTT-8EfXGg7CZfutmTA1pNCi4g"} 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":"90045c1960dc25422464388b147595aa"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"445e19bd-e6c1-42c2-b138-6ce1a943b69e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8501956} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90045c1960dc25422464388b147595aa"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8190544d-d870-4a71-9e8e-c8e66a274072","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8550043} 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":"90045c1960dc25422464388b147595aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a3c38bda-5050-4173-ac94-6cf1db41de73","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.868864} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c448f834-1755-43bc-987a-f876c06aedc9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.868971} 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":"90045c1960dc25422464388b147595aa"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.868831086Z"}]},"request_id":"f918b0ab-1672-40da-bc50-e4971af8168f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841052.8735452} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"90045c1960dc25422464388b147595aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"90045c1960dc25422464388b147595aa","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"90045c1960dc25422464388b147595aa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1M30.WyLwaFwhaxxgU1fcy44kghCdSmhMLINVSarvXhfpWTc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20ac2ef38de82cad5d77f856c5d41537","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:53Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969639,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841053,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1M30.WyLwaFwhaxxgU1fcy44kghCdSmhMLINVSarvXhfpWTc"} 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":"20ac2ef38de82cad5d77f856c5d41537"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"c002395c-3496-420b-a6ea-f37e481dd2cf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841053.3670278} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20ac2ef38de82cad5d77f856c5d41537"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef387458-7002-4bfc-a6d6-6a9c2ee3f9af","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841053.3726113} 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":"20ac2ef38de82cad5d77f856c5d41537"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"a08f8f71-2652-46f7-9da6-dfa66ca7b065","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841053.396765} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20ac2ef38de82cad5d77f856c5d41537"},"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":"11/Apr/2024:13:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"20ac2ef38de82cad5d77f856c5d41537"} device_1 | {"level":"info","message":"PATCH /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94 200 45ms","method":"PATCH","requestID":"20ac2ef38de82cad5d77f856c5d41537","responseTime":45,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1M30.WyLwaFwhaxxgU1fcy44kghCdSmhMLINVSarvXhfpWTc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"53ffcfaf68b68e5d47eb2f7f75aa95d2","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:53Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158013,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841053,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1M30.WyLwaFwhaxxgU1fcy44kghCdSmhMLINVSarvXhfpWTc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53ffcfaf68b68e5d47eb2f7f75aa95d2"},"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":"11/Apr/2024:13:10:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"53ffcfaf68b68e5d47eb2f7f75aa95d2"} device_1 | {"level":"info","message":"POST /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/websocket 200 23ms","method":"POST","requestID":"53ffcfaf68b68e5d47eb2f7f75aa95d2","responseTime":23,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94' 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":"a6fa0f9767c5ec7a0e6ed61cd8bf0ec2","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/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":"a6fa0f9767c5ec7a0e6ed61cd8bf0ec2"} device_1 | {"level":"info","message":"OPTIONS /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/websocket 200 2ms","method":"OPTIONS","requestID":"a6fa0f9767c5ec7a0e6ed61cd8bf0ec2","responseTime":2,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NH0.5TV10ZsRCjylG4vGW42kmfHAXaUPrWF79wRN-vzZk-Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db161e4225cf4a3820687f78cacafd8c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:54Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.233725,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841054,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NH0.5TV10ZsRCjylG4vGW42kmfHAXaUPrWF79wRN-vzZk-Y"} 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":"db161e4225cf4a3820687f78cacafd8c"},"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":"11/Apr/2024:13:10:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"db161e4225cf4a3820687f78cacafd8c"} device_1 | {"level":"info","message":"POST /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/websocket 200 55ms","method":"POST","requestID":"db161e4225cf4a3820687f78cacafd8c","responseTime":55,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NH0.5TV10ZsRCjylG4vGW42kmfHAXaUPrWF79wRN-vzZk-Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ab153b8a851bf1a66ed582ab23c9718c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:54Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383977,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841054,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NH0.5TV10ZsRCjylG4vGW42kmfHAXaUPrWF79wRN-vzZk-Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab153b8a851bf1a66ed582ab23c9718c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"bdb18309-5664-42ea-8df8-5bb1c6fccec3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.0028098} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab153b8a851bf1a66ed582ab23c9718c"},"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":"11/Apr/2024:13:10:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab153b8a851bf1a66ed582ab23c9718c"} device_1 | {"level":"info","message":"GET /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94? 200 21ms","method":"GET","requestID":"ab153b8a851bf1a66ed582ab23c9718c","responseTime":21,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"047c46c4f53e56b456b6e337026591e4","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220969,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"047c46c4f53e56b456b6e337026591e4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.868831086Z"}]},"request_id":"399853f5-ed0f-4f38-af59-616b23c754fc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.032778} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"047c46c4f53e56b456b6e337026591e4"},"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":"11/Apr/2024:13:10:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 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":"047c46c4f53e56b456b6e337026591e4"} device_1 | {"level":"info","message":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 200 19ms","method":"GET","requestID":"047c46c4f53e56b456b6e337026591e4","responseTime":19,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4f112e923e331058c81b4e3fe78f0a8","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:38658","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.401371,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} 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":"c4f112e923e331058c81b4e3fe78f0a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"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:38658","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.144656,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edfa5e30-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.518688,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} 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":"edfaac50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"0a970771-4124-44bc-9277-4e9059c14754","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.136913} 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":"edfa5e30-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.868831086Z"}]},"request_id":"f7eca508-0f97-4615-bf30-1455479e7f10","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.1386518} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"edfaac50-f804-11ee-96ad-77028417699d"},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94? 200 26ms","method":"GET","requestID":"edfa5e30-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 200 24ms","method":"GET","requestID":"edfaac50-f804-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"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:38658","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.801616,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} 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":"ee069330-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.861075,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} 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":"ee06e150-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3fe1d179-42f6-4c1b-b274-851b0f362f47","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2191944} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.608511,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","rebac_allow":false,"scope_allow":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":"ee075680-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"1dcb41e7-74ba-438b-b87d-2e855001f7ab","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2232249} 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":"ee069330-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.868831086Z"}]},"request_id":"66d43cf2-4e30-481d-9554-eee9d20561d0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2282677} 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":"ee06e150-f804-11ee-96ad-77028417699d"},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling 200 25ms","method":"POST","requestID":"ee075680-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"622c746a-d1c3-4caf-84ad-a713461f38a1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.234887} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75af46cb-8d10-4702-95c7-787a14dd4433","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.235623} 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":"c4f112e923e331058c81b4e3fe78f0a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} device_1 | {"level":"info","message":"GET /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94? 200 41ms","method":"GET","requestID":"ee069330-f804-11ee-96ad-77028417699d","responseTime":41,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 200 40ms","method":"GET","requestID":"ee06e150-f804-11ee-96ad-77028417699d","responseTime":40,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b51fa350-bed1-4cb8-927e-dafe442357e2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2465904} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.821974,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","rebac_allow":false,"scope_allow":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":"ee0c1170-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment_1 | {"level":"info","message":"POST /experiments? 201 207ms","method":"POST","requestID":"c4f112e923e331058c81b4e3fe78f0a8","responseTime":207,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling 200 18ms","method":"POST","requestID":"ee0c1170-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.217","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4f112e923e331058c81b4e3fe78f0a8"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9eba7e9d-563f-4e45-bcad-79fd31bf7741","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.261814} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.8422,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ffa8e8ff2d1158813d2a90a19f8b4a98","responseTime":4,"status":200,"url":"/auth"} 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":"ee0e5b60-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling 200 18ms","method":"POST","requestID":"ee0e5b60-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.543909,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffa8e8ff2d1158813d2a90a19f8b4a98"},"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:38658","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.820565032Z"}]},"request_id":"80c249d8-f97f-4e91-a338-fc5376f527d2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2818036} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a70fbd2-a76a-4aa3-8df2-b7327030738b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.2819612} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ffa8e8ff2d1158813d2a90a19f8b4a98"},"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:38658","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.722867,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","rebac_allow":false,"scope_allow":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":"ee118fb0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:10:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffa8e8ff2d1158813d2a90a19f8b4a98"} device_1 | {"level":"info","message":"GET /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94? 200 21ms","method":"GET","requestID":"ffa8e8ff2d1158813d2a90a19f8b4a98","responseTime":21,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling 200 17ms","method":"POST","requestID":"ee118fb0-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"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":"b22c0efa-0a2e-4121-ae42-b59a3f523069"},{"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":"1849bfc2-798e-4fe2-9793-29165291f9ea"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"96d414da-5049-490d-a476-0a92dfab41f9"}]},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94"},{"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cde22a66a1834f9e01ea07108483bf85","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.226881,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} 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":"ee14c400-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.710134,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841055,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1NX0.kO-WFJLgBbFXb9J_3lGwfCKPBGYJcNktY_wIB1BMsQA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cde22a66a1834f9e01ea07108483bf85"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:52.868831086Z"}]},"request_id":"1a235ae7-b1df-4faf-ae3b-641d743d6e63","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.3081913} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cde22a66a1834f9e01ea07108483bf85"},"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":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"05e1d5b1-de59-468d-ad86-e1d41ccabb30","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.312422} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"192c81e2-14f9-44f8-821d-d14b58c86178","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.3127375} gateway_1 | {"time_local":"11/Apr/2024:13:10:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 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":"cde22a66a1834f9e01ea07108483bf85"} device_1 | {"level":"info","message":"GET /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9? 200 15ms","method":"GET","requestID":"cde22a66a1834f9e01ea07108483bf85","responseTime":15,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9?"} 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":"ee14c400-f804-11ee-96ad-77028417699d"},"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/45f09f43-4ab0-4cc7-9e10-1cda4093715c'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 41ms","method":"POST","requestID":"ee14c400-f804-11ee-96ad-77028417699d","responseTime":41,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4393e75f-02ac-4417-8850-40c420f41632","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.3719718} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.297119,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","rebac_allow":false,"scope_allow":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":"ee1f9970-f804-11ee-96ad-77028417699d"},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling 200 9ms","method":"POST","requestID":"ee1f9970-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2da2f06-71ed-46f7-b2c4-41933981922a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841055.3829112} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.600723,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:55Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","rebac_allow":false,"scope_allow":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":"ee214720-f804-11ee-96ad-77028417699d"},"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling 200 9ms","method":"POST","requestID":"ee214720-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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/45f09f43-4ab0-4cc7-9e10-1cda4093715c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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":"ae54a3d20b75b4683656e2bae78390fe","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/ac7a87e0-86af-48d0-8090-9df9709a7b94"},{"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 12ms","method":"POST","requestID":"ae54a3d20b75b4683656e2bae78390fe","responseTime":12,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch","requestID":"ae54a3d20b75b4683656e2bae78390fe"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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/45f09f43-4ab0-4cc7-9e10-1cda4093715c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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 3ms","method":"GET","requestID":"4392dd1c5826c522e3e513065f32d470","responseTime":3,"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/ac7a87e0-86af-48d0-8090-9df9709a7b94"},{"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45f09f43-4ab0-4cc7-9e10-1cda4093715c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb9a396a-2f1a-4498-a580-7f21ce4a6c21","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.4873333} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.086972,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c","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":"eec96e00-f804-11ee-96ad-77028417699d"},"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/45f09f43-4ab0-4cc7-9e10-1cda4093715c 200 16ms","method":"GET","requestID":"eec96e00-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"4392dd1c5826c522e3e513065f32d470","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"4392dd1c5826c522e3e513065f32d470"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e4aefd1c-8602-4a76-b3bd-eb15834efcc6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.5289264} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.628116,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","rebac_allow":false,"scope_allow":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":"eecfd6a0-f804-11ee-96ad-77028417699d"},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling 200 15ms","method":"POST","requestID":"eecfd6a0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"745304b0e38caa845f0a8664f25f3e8a","responseTime":6,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"57e049e2-287f-4373-a124-87b6a73737b7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.5493135} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.315377,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","rebac_allow":false,"scope_allow":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":"eed295c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.371948,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} device_1 | {"level":"info","message":"POST /devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling 200 19ms","method":"POST","requestID":"eed295c0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841056,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs"} 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":"745304b0e38caa845f0a8664f25f3e8a"},"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/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"745304b0e38caa845f0a8664f25f3e8a"} experiment_1 | {"level":"info","message":"GET /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b 200 25ms","method":"GET","requestID":"745304b0e38caa845f0a8664f25f3e8a","responseTime":25,"status":200,"url":"/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6a1a881bd945fd9f740acd658b6b97fc","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.325929,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841056,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs"} 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":"6a1a881bd945fd9f740acd658b6b97fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.251494,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841056,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs"} 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":"eedc32b0-f804-11ee-96ad-77028417699d"},"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/45f09f43-4ab0-4cc7-9e10-1cda4093715c' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45f09f43-4ab0-4cc7-9e10-1cda4093715c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F45f09f43-4ab0-4cc7-9e10-1cda4093715c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"5bd19e9c-babb-4ee0-93cc-57f656e737ec","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.629332} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f039a2ccb2e96dba3b5061a7cb8a498a","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 3ms","method":"GET","requestID":"4ecfdadfd7f7ec163ac9ba8373e3b7ed","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eb3a85a8-3a95-4067-9f91-263780ecdc9b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.6297374} 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/ac7a87e0-86af-48d0-8090-9df9709a7b94"},{"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eedc32b0-f804-11ee-96ad-77028417699d"},"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/ac7a87e0-86af-48d0-8090-9df9709a7b94"},{"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"45f09f43-4ab0-4cc7-9e10-1cda4093715c","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/45f09f43-4ab0-4cc7-9e10-1cda4093715c 204 65ms","method":"DELETE","requestID":"eedc32b0-f804-11ee-96ad-77028417699d","responseTime":65,"status":204,"url":"/peerconnections/45f09f43-4ab0-4cc7-9e10-1cda4093715c"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fac7a87e0-86af-48d0-8090-9df9709a7b94","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d0b5b254-5595-4595-81b5-8fd892348d46","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.7033947} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.043316,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94","object_type":"device","rebac_allow":false,"scope_allow":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":"eee9ee50-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"784ea439-4bcc-4df4-a6b5-51044f15cb67","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.7101119} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/signaling 200 19ms","method":"POST","requestID":"eee9ee50-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/ac7a87e0-86af-48d0-8090-9df9709a7b94/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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b30dc9eb-9094-4d75-a0a1-d63cefc4ae2a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.7105722} 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":"6a1a881bd945fd9f740acd658b6b97fc"},"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:38658","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80340892-9f54-4619-8361-0793cc86fad7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.723679} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.994052,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9","object_type":"device","rebac_allow":false,"scope_allow":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":"eeed70c0-f804-11ee-96ad-77028417699d"},"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling 200 16ms","method":"POST","requestID":"eeed70c0-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.206","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a1a881bd945fd9f740acd658b6b97fc"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2438","request_time":"3.355","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c7a6f58451655039de40463606a42fb0"} experiment_1 | {"level":"info","message":"DELETE /experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b 204 201ms","method":"DELETE","requestID":"6a1a881bd945fd9f740acd658b6b97fc","responseTime":201,"status":204,"url":"/experiments/3bf6acc3-6abe-4ba3-9c77-c1a1edbe583b"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 157ms","method":"POST","requestID":"f039a2ccb2e96dba3b5061a7cb8a498a","responseTime":157,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"f039a2ccb2e96dba3b5061a7cb8a498a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"4ecfdadfd7f7ec163ac9ba8373e3b7ed","responseTime":156,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch","requestID":"4ecfdadfd7f7ec163ac9ba8373e3b7ed"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2194","request_time":"1.837","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e52fd60f489d2649daf414b20b1dda0d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"7449e793ccbb91ac19de8ccd0d1d9296","responseTime":8,"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/ac7a87e0-86af-48d0-8090-9df9709a7b94' closed"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.910071,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841056,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs"} 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":"7449e793ccbb91ac19de8ccd0d1d9296"},"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/82757b58-fdd5-4ab9-8a3f-8594e6d15ac9' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"89f25640-2269-4b10-a491-c3107539afbe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8219023} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7449e793ccbb91ac19de8ccd0d1d9296"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a97240d-cd00-4f9b-afc4-099557a82b0a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8276126} 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":"7449e793ccbb91ac19de8ccd0d1d9296"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"61fd7140-65f9-4010-8ef5-952506e7e8fa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8398287} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cc9b293-35db-404a-976d-39ab16d514ba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8398678} 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":"7449e793ccbb91ac19de8ccd0d1d9296"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"a89f61b2-0afe-43c4-9c57-94616000e52d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8458297} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7449e793ccbb91ac19de8ccd0d1d9296"},"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":"7449e793ccbb91ac19de8ccd0d1d9296","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10: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.061","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7449e793ccbb91ac19de8ccd0d1d9296"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb6ca1a4c59f0d0e9654422fb70acbb5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.664817,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841056,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1Nn0.RcULMi9sN2LnLtUuodBmcayxyuiwHsJB1ufdghFIWfs"} 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":"eb6ca1a4c59f0d0e9654422fb70acbb5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8b91c55a-e151-45ac-be52-0c8a8438e386","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8724465} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb6ca1a4c59f0d0e9654422fb70acbb5"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce405bb0-e0c9-43a6-8bc6-12f7f36fd73b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8777735} 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":"eb6ca1a4c59f0d0e9654422fb70acbb5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"31c246de-eaa5-40e8-bc1e-11fedaf0a81c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8877325} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47da3341-92cd-4cf6-87ef-1b53d8ea736e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8879573} 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":"eb6ca1a4c59f0d0e9654422fb70acbb5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.887715170Z"}]},"request_id":"d421302f-e8a7-42f1-a9fa-d5941cfe0f0d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841056.8958669} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb6ca1a4c59f0d0e9654422fb70acbb5"},"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":"eb6ca1a4c59f0d0e9654422fb70acbb5","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb6ca1a4c59f0d0e9654422fb70acbb5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1N30.GXfnq1NC4qZeYXl4BViV8cLvJKRGlrATOWyVJPomttc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d6abd61e4ccdc65db766d78be151bf99","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:57Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.178908,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:57Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841057,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1N30.GXfnq1NC4qZeYXl4BViV8cLvJKRGlrATOWyVJPomttc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6abd61e4ccdc65db766d78be151bf99"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"0ae77960-b24c-4ece-bbfb-63bcba222d3c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841057.3836539} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6abd61e4ccdc65db766d78be151bf99"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"def33d12-d995-475f-9a60-dff774a4829f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841057.3927572} 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":"d6abd61e4ccdc65db766d78be151bf99"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"e5b1d7c9-d481-4cd6-957e-3fc539c2fb28","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841057.418047} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6abd61e4ccdc65db766d78be151bf99"},"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/808529a6-bffe-4663-ab93-976b624237a1 200 54ms","method":"PATCH","requestID":"d6abd61e4ccdc65db766d78be151bf99","responseTime":54,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1"} gateway_1 | {"time_local":"11/Apr/2024:13:10:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/808529a6-bffe-4663-ab93-976b624237a1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d6abd61e4ccdc65db766d78be151bf99"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1N30.GXfnq1NC4qZeYXl4BViV8cLvJKRGlrATOWyVJPomttc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71fbbf085dde5a0c46417561c6925503","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:57Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2834,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:57Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841057,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1N30.GXfnq1NC4qZeYXl4BViV8cLvJKRGlrATOWyVJPomttc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71fbbf085dde5a0c46417561c6925503"},"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/808529a6-bffe-4663-ab93-976b624237a1/websocket 200 22ms","method":"POST","requestID":"71fbbf085dde5a0c46417561c6925503","responseTime":22,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:10:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/808529a6-bffe-4663-ab93-976b624237a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.028","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"71fbbf085dde5a0c46417561c6925503"} device_1 | {"level":"info","message":"device 'http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1' 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":"5adf6ff4feafe5a63625bccf4b404617","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/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":"5adf6ff4feafe5a63625bccf4b404617"} device_1 | {"level":"info","message":"OPTIONS /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/websocket 200 1ms","method":"OPTIONS","requestID":"5adf6ff4feafe5a63625bccf4b404617","responseTime":1,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OH0.vJABSYkZGll9YUS1ZaEzimHvilqB7vYV4NL5AG_-JKo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"e523b09004b55654e9c0e42b47b8804c","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:58Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320198,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841058,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OH0.vJABSYkZGll9YUS1ZaEzimHvilqB7vYV4NL5AG_-JKo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e523b09004b55654e9c0e42b47b8804c"},"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":"11/Apr/2024:13:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.048","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e523b09004b55654e9c0e42b47b8804c"} device_1 | {"level":"info","message":"POST /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/websocket 200 40ms","method":"POST","requestID":"e523b09004b55654e9c0e42b47b8804c","responseTime":40,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OH0.vJABSYkZGll9YUS1ZaEzimHvilqB7vYV4NL5AG_-JKo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"60bbd79909af2b76db1076f13a8d2e93","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:58Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.164068,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841058,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OH0.vJABSYkZGll9YUS1ZaEzimHvilqB7vYV4NL5AG_-JKo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60bbd79909af2b76db1076f13a8d2e93"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"c98020cb-e32a-483b-b15b-6e3d2b2af5a4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841058.9920218} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"60bbd79909af2b76db1076f13a8d2e93"},"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":"11/Apr/2024:13:10:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/808529a6-bffe-4663-ab93-976b624237a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"60bbd79909af2b76db1076f13a8d2e93"} device_1 | {"level":"info","message":"GET /devices/808529a6-bffe-4663-ab93-976b624237a1? 200 18ms","method":"GET","requestID":"60bbd79909af2b76db1076f13a8d2e93","responseTime":18,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a799e68ce6abe9cfd208387b1024b7e7","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.211836,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a799e68ce6abe9cfd208387b1024b7e7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.887715170Z"}]},"request_id":"6fb55709-6550-4cd9-812b-b54290e834ad","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.0199988} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a799e68ce6abe9cfd208387b1024b7e7"},"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":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6703143f-ef28-47dc-8a37-87c962f1da9e? 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":"a799e68ce6abe9cfd208387b1024b7e7"} device_1 | {"level":"info","message":"GET /devices/6703143f-ef28-47dc-8a37-87c962f1da9e? 200 18ms","method":"GET","requestID":"a799e68ce6abe9cfd208387b1024b7e7","responseTime":18,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9c661aeb75c057147721796a294dcb4e","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:38658","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.383793,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"9c661aeb75c057147721796a294dcb4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"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:38658","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.906478,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f0590eb0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206412,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f0595cd0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"f00fb54a-0512-431b-93b4-c69f2e6584b7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.1173944} 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":"f0590eb0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.887715170Z"}]},"request_id":"661966ae-1b9b-4066-abed-d70b1e88ac09","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.1192667} 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":"f0595cd0-f804-11ee-96ad-77028417699d"},"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/808529a6-bffe-4663-ab93-976b624237a1? 200 32ms","method":"GET","requestID":"f0590eb0-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6703143f-ef28-47dc-8a37-87c962f1da9e? 200 32ms","method":"GET","requestID":"f0595cd0-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"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:38658","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":4.253103,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.673086,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f06b3720-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f06b8540-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"1961a25f-8e63-4421-8a0b-26a54c9b013a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2394261} 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":"f06b3720-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.887715170Z"}]},"request_id":"e68537e5-f366-47fc-8175-b95f3743ec00","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2417383} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9bf45a4-afd7-4e22-aec5-699f6827cb35","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2427304} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f06b8540-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1b9eea1-f35b-47fc-b82d-24c370376442#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1b9eea1-f35b-47fc-b82d-24c370376442","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"c1c058d2-ecf8-4f0f-ad8a-31d7e0fcd2a7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2477744} device_1 | {"level":"info","message":"GET /devices/808529a6-bffe-4663-ab93-976b624237a1? 200 32ms","method":"GET","requestID":"f06b3720-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b57c7bc0-5de4-433d-a341-b6dfa3329fb6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2482276} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.321856,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 27ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f06bfa70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":27}} 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":"9c661aeb75c057147721796a294dcb4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":25}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6703143f-ef28-47dc-8a37-87c962f1da9e? 200 39ms","method":"GET","requestID":"f06b8540-f804-11ee-96ad-77028417699d","responseTime":39,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/808529a6-bffe-4663-ab93-976b624237a1/signaling 200 38ms","method":"POST","requestID":"f06bfa70-f804-11ee-96ad-77028417699d","responseTime":38,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c1a75700-f85e-4f50-897b-852c669b0017","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.273921} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.345543,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 239ms","method":"POST","requestID":"9c661aeb75c057147721796a294dcb4e","responseTime":239,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f0726310-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1fa585e3-1741-4fab-9246-f62d3bdaa2cb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.275643} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.286996,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.248","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c661aeb75c057147721796a294dcb4e"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","rebac_allow":false,"scope_allow":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":"f072d840-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b63b058f9c610247aecd7802e6426606","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/808529a6-bffe-4663-ab93-976b624237a1/signaling 200 18ms","method":"POST","requestID":"f0726310-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling 200 16ms","method":"POST","requestID":"f072d840-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955575,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b63b058f9c610247aecd7802e6426606"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7ee8f0a-e0fe-4dac-a1b3-bfdbc75c0ab7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.292255} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.290364,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","rebac_allow":false,"scope_allow":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":"f0759760-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.839801927Z"}]},"request_id":"2a8531bb-6e42-4b49-9db2-bd4870fe4150","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.2969012} 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":"b63b058f9c610247aecd7802e6426606"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"POST /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling 200 12ms","method":"POST","requestID":"f0759760-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"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":"4268b0e9-98dc-4c83-9e62-2c128ab2c9df"},{"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":"5a804605-ea21-426b-90d1-78a2c91906b5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"aa75aeb7-9307-44e4-bd71-e3afc26e2d19"}]},"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/6703143f-ef28-47dc-8a37-87c962f1da9e"},{"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/808529a6-bffe-4663-ab93-976b624237a1"}],"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":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/808529a6-bffe-4663-ab93-976b624237a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b63b058f9c610247aecd7802e6426606"} device_1 | {"level":"info","message":"GET /devices/808529a6-bffe-4663-ab93-976b624237a1? 200 19ms","method":"GET","requestID":"b63b058f9c610247aecd7802e6426606","responseTime":19,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.884691,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f077e150-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"422ea260cb1f5a35742ee1de79b168a1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789975,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"422ea260cb1f5a35742ee1de79b168a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"333f34c2-e672-484a-8361-246786ed8cee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.3201182} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"544837b5-340c-4edf-bab1-4e1d2dccb015","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.320342} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:56.887715170Z"}]},"request_id":"b84ff5e4-a670-420f-a0f9-b2ec161c06e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.3211462} 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":"f077e150-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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":"422ea260cb1f5a35742ee1de79b168a1"},"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/6703143f-ef28-47dc-8a37-87c962f1da9e? 200 17ms","method":"GET","requestID":"422ea260cb1f5a35742ee1de79b168a1","responseTime":17,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6703143f-ef28-47dc-8a37-87c962f1da9e? 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":"422ea260cb1f5a35742ee1de79b168a1"} 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/03fa5124-d8ff-455a-bcbe-053adfccaf25'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 49ms","method":"POST","requestID":"f077e150-f804-11ee-96ad-77028417699d","responseTime":49,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d721e1c4-660b-4b5e-8bda-bfc9a62f31ce","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.3940105} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.352935,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f08527c0-f804-11ee-96ad-77028417699d"},"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/808529a6-bffe-4663-ab93-976b624237a1/signaling 200 11ms","method":"POST","requestID":"f08527c0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88665376-46b7-4504-a9ce-a94c337b345d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.4082577} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.867015,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","rebac_allow":false,"scope_allow":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":"f0874aa0-f804-11ee-96ad-77028417699d"},"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/03fa5124-d8ff-455a-bcbe-053adfccaf25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} device_1 | {"level":"info","message":"POST /devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling 200 16ms","method":"POST","requestID":"f0874aa0-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"305299c67c9f9d2b790b798b09514f81","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/6703143f-ef28-47dc-8a37-87c962f1da9e"},{"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/808529a6-bffe-4663-ab93-976b624237a1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"305299c67c9f9d2b790b798b09514f81","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"305299c67c9f9d2b790b798b09514f81"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","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/03fa5124-d8ff-455a-bcbe-053adfccaf25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","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":"7cd1a66b8c3e5fdf2c8603e4e6b1fd73","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/6703143f-ef28-47dc-8a37-87c962f1da9e"},{"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/808529a6-bffe-4663-ab93-976b624237a1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03fa5124-d8ff-455a-bcbe-053adfccaf25","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"100b0b12-f7a4-4fa8-b086-e0b41064514d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.4875906} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.69941,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25","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":"f0937fa0-f804-11ee-96ad-77028417699d"},"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/03fa5124-d8ff-455a-bcbe-053adfccaf25 200 10ms","method":"GET","requestID":"f0937fa0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 39ms","method":"POST","requestID":"7cd1a66b8c3e5fdf2c8603e4e6b1fd73","responseTime":39,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch","requestID":"7cd1a66b8c3e5fdf2c8603e4e6b1fd73"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f9c539b-feea-4b1f-869f-5345c87dc138","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.519777} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.808119,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","rebac_allow":false,"scope_allow":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":"f09861a0-f804-11ee-96ad-77028417699d"},"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/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling 200 12ms","method":"POST","requestID":"f09861a0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9021facb-e807-4302-8201-3cc4b76e6609","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.5335846} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.945266,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f09a8480-f804-11ee-96ad-77028417699d"},"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/808529a6-bffe-4663-ab93-976b624237a1/signaling 200 11ms","method":"POST","requestID":"f09a8480-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6a65fb5cf2cbbac466184c51ffbff5a","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.276116,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f6a65fb5cf2cbbac466184c51ffbff5a"},"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/b1b9eea1-f35b-47fc-b82d-24c370376442"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6a65fb5cf2cbbac466184c51ffbff5a"} experiment_1 | {"level":"info","message":"GET /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442 200 18ms","method":"GET","requestID":"f6a65fb5cf2cbbac466184c51ffbff5a","responseTime":18,"status":200,"url":"/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bfe3ae973e229266fccae1ba64bd1e4e","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.056983,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"bfe3ae973e229266fccae1ba64bd1e4e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.264241,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"f0a81910-f804-11ee-96ad-77028417699d"},"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/03fa5124-d8ff-455a-bcbe-053adfccaf25' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","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":"80ce1bc12b34e3ded221938e9ce91141","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03fa5124-d8ff-455a-bcbe-053adfccaf25': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F03fa5124-d8ff-455a-bcbe-053adfccaf25","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"018bc0c3-f633-4e74-b700-46b994d561ee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.6456661} 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/6703143f-ef28-47dc-8a37-87c962f1da9e"},{"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/808529a6-bffe-4663-ab93-976b624237a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1401b53e987e3acc40da4b1792e82688","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eea62f5c-548e-411a-a9e6-a9089a68d2e8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.6462538} 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":"f0a81910-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e"},{"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/808529a6-bffe-4663-ab93-976b624237a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"03fa5124-d8ff-455a-bcbe-053adfccaf25","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/03fa5124-d8ff-455a-bcbe-053adfccaf25 204 60ms","method":"DELETE","requestID":"f0a81910-f804-11ee-96ad-77028417699d","responseTime":60,"status":204,"url":"/peerconnections/03fa5124-d8ff-455a-bcbe-053adfccaf25"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6703143f-ef28-47dc-8a37-87c962f1da9e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47de913b-34d8-4f9d-a315-ceefc0c0e196","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.7110102} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.229215,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e","object_type":"device","rebac_allow":false,"scope_allow":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":"f0b53870-f804-11ee-96ad-77028417699d"},"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/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling 200 17ms","method":"POST","requestID":"f0b53870-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/6703143f-ef28-47dc-8a37-87c962f1da9e/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1b9eea1-f35b-47fc-b82d-24c370376442': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb1b9eea1-f35b-47fc-b82d-24c370376442","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"d3759e0c-0f73-48ae-8861-4021ba3b5314","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.7229402} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddc37a17-7794-44b9-b252-c2bfd644eef0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.7238746} 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":"bfe3ae973e229266fccae1ba64bd1e4e"},"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:38658","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F808529a6-bffe-4663-ab93-976b624237a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1bc7867b-46f8-4f27-a5fc-caa470859726","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.7324662} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.228171,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/808529a6-bffe-4663-ab93-976b624237a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f0b86cc0-f804-11ee-96ad-77028417699d"},"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/808529a6-bffe-4663-ab93-976b624237a1/signaling 200 15ms","method":"POST","requestID":"f0b86cc0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/808529a6-bffe-4663-ab93-976b624237a1/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.199","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfe3ae973e229266fccae1ba64bd1e4e"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2119","request_time":"2.339","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a94c80c0b33f83b36b1297bb2d9a17f5"} experiment_1 | {"level":"info","message":"DELETE /experiments/b1b9eea1-f35b-47fc-b82d-24c370376442 204 193ms","method":"DELETE","requestID":"bfe3ae973e229266fccae1ba64bd1e4e","responseTime":193,"status":204,"url":"/experiments/b1b9eea1-f35b-47fc-b82d-24c370376442"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 149ms","method":"POST","requestID":"80ce1bc12b34e3ded221938e9ce91141","responseTime":149,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"80ce1bc12b34e3ded221938e9ce91141"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"1401b53e987e3acc40da4b1792e82688","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.156","http_referrer":"","http_user_agent":"node-fetch","requestID":"1401b53e987e3acc40da4b1792e82688"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eb0d2604a1a328429178abe303521519","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.849","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dd54d2231c48a10287f2b4b26a56c844"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.979511,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"eb0d2604a1a328429178abe303521519"},"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/808529a6-bffe-4663-ab93-976b624237a1' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"603c3d8d-33ab-4837-8221-3129cfed777a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8204584} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb0d2604a1a328429178abe303521519"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91f02878-dbc7-4d4b-bb73-0d75378a291c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8257866} 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":"eb0d2604a1a328429178abe303521519"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6703143f-ef28-47dc-8a37-87c962f1da9e' closed"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"02ec00fe-2bb8-4bbe-9219-dedb2ebfa732","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8371} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67768246-ce47-4c28-b076-07a39d6915c2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.837245} 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":"eb0d2604a1a328429178abe303521519"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"e6bef585-c5ed-4482-b6f3-57b209530835","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.841894} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb0d2604a1a328429178abe303521519"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 42ms","method":"POST","requestID":"eb0d2604a1a328429178abe303521519","responseTime":42,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb0d2604a1a328429178abe303521519"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4af4fdb6644a1c9d4707472a3346a21d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.936829,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:10:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841059,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA1OX0.znfA2ofU52IAhYLt8d-w_d-_CL8SqT80HXWBIDkbsXs"} 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":"4af4fdb6644a1c9d4707472a3346a21d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0089f45f-6f0f-4277-ba86-df651dedf7e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8673491} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4af4fdb6644a1c9d4707472a3346a21d"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"988a48a2-c66e-4694-a983-939dd6d12ec4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8721592} 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":"4af4fdb6644a1c9d4707472a3346a21d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"6fec399a-3378-442b-9605-95bc788d834c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8816137} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"becb0bb1-ae7e-41fb-890d-3bcc4f2eb746","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.8817785} 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":"4af4fdb6644a1c9d4707472a3346a21d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"53942158-2b9a-4de7-817c-161bed1376fc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841059.886383} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4af4fdb6644a1c9d4707472a3346a21d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 39ms","method":"POST","requestID":"4af4fdb6644a1c9d4707472a3346a21d","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:10:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4af4fdb6644a1c9d4707472a3346a21d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0446f05d5a24f4a0148cc619cef95ffe","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691805,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"0446f05d5a24f4a0148cc619cef95ffe"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"65761863-045e-45ad-9372-d4abf1f5e719","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.3558912} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0446f05d5a24f4a0148cc619cef95ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21a74b7a5d7487b2f456115d375cd5fd","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"952018db-e79a-47af-a324-3ca846272ea5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.3613863} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} 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":"0446f05d5a24f4a0148cc619cef95ffe"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.091165,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"21a74b7a5d7487b2f456115d375cd5fd"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"0e5932a0-1a58-425e-b12f-f28d1ccce899","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.3856819} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0446f05d5a24f4a0148cc619cef95ffe"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"c3974003-401a-494c-8235-da5c1b103a6a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.386986} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21a74b7a5d7487b2f456115d375cd5fd"},"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":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f62d6109-52e6-401d-bb77-8544a078d742 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.047","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"0446f05d5a24f4a0148cc619cef95ffe"} device_1 | {"level":"info","message":"PATCH /devices/f62d6109-52e6-401d-bb77-8544a078d742 200 43ms","method":"PATCH","requestID":"0446f05d5a24f4a0148cc619cef95ffe","responseTime":43,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a2c2916e9964bcea2a6305082e6eebd","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae8ceb69-7e76-4b98-a984-6d5da733d40c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.3953185} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21a74b7a5d7487b2f456115d375cd5fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790793,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"4a2c2916e9964bcea2a6305082e6eebd"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"c19de62b-1ec1-471f-9300-489b2fa8eaa4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.4085486} 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":"21a74b7a5d7487b2f456115d375cd5fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"21a74b7a5d7487b2f456115d375cd5fd"} device_1 | {"level":"info","message":"PATCH /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3 200 53ms","method":"PATCH","requestID":"21a74b7a5d7487b2f456115d375cd5fd","responseTime":53,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f62d6109-52e6-401d-bb77-8544a078d742/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"4a2c2916e9964bcea2a6305082e6eebd"} device_1 | {"level":"info","message":"POST /devices/f62d6109-52e6-401d-bb77-8544a078d742/websocket 200 23ms","method":"POST","requestID":"4a2c2916e9964bcea2a6305082e6eebd","responseTime":23,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c31ec58dcc521c85811074f9e9b7127","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.99957,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"7c31ec58dcc521c85811074f9e9b7127"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.026","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7c31ec58dcc521c85811074f9e9b7127"} device_1 | {"level":"info","message":"POST /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/websocket 200 22ms","method":"POST","requestID":"7c31ec58dcc521c85811074f9e9b7127","responseTime":22,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f700eae901403205cf1e969bc7c9095","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664771,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"2f700eae901403205cf1e969bc7c9095"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"34acc4e1-61ea-4688-883f-cb7b460f63cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.4680557} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2f700eae901403205cf1e969bc7c9095"},"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":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f62d6109-52e6-401d-bb77-8544a078d742? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f700eae901403205cf1e969bc7c9095"} device_1 | {"level":"info","message":"GET /devices/f62d6109-52e6-401d-bb77-8544a078d742? 200 14ms","method":"GET","requestID":"2f700eae901403205cf1e969bc7c9095","responseTime":14,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4a1c7ed4c5d51e0648c0e5ef950f8aaa","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457273,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a1c7ed4c5d51e0648c0e5ef950f8aaa"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"21758fb9-333c-4664-a9e2-f402f5b7dd82","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.4868705} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4a1c7ed4c5d51e0648c0e5ef950f8aaa"},"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":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a1c7ed4c5d51e0648c0e5ef950f8aaa"} device_1 | {"level":"info","message":"GET /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3? 200 13ms","method":"GET","requestID":"4a1c7ed4c5d51e0648c0e5ef950f8aaa","responseTime":13,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3dc50870e372fc66413a7c380248f931","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:38658","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.658021,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"3dc50870e372fc66413a7c380248f931"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"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:38658","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738256,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1360130-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.544681,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1362840-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"a41340cb-4850-4b27-b370-718dd861914e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.559157} 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":"f1360130-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"3ec2df93-bb09-45a6-aa17-879c4148a6a8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.5610845} 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":"f1362840-f804-11ee-96ad-77028417699d"},"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/f62d6109-52e6-401d-bb77-8544a078d742? 200 23ms","method":"GET","requestID":"f1360130-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3? 200 24ms","method":"GET","requestID":"f1362840-f804-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"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/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.489518,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"f142f980-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.409638,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"f14347a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c54ec551-0025-4751-8028-c777bee1adb7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6462739} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.609014,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","rebac_allow":false,"scope_allow":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":"f14395c0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"1b481025-8f17-4bef-b1dc-657c71fb93f6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6493788} 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":"f142f980-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"62ac369a-e2e0-496d-be3b-41b5c756d8a4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6538198} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f14347a0-f804-11ee-96ad-77028417699d"},"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/f62d6109-52e6-401d-bb77-8544a078d742/signaling 200 22ms","method":"POST","requestID":"f14395c0-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05f8a802-88db-4586-a68b-0083bdaebed1#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05f8a802-88db-4586-a68b-0083bdaebed1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d7a0bae9-e5c7-4b88-9166-fe685bfbad02","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6605947} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d1c6ef1-d3cb-48a1-9703-684c56099cef","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6609294} 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":"3dc50870e372fc66413a7c380248f931"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} device_1 | {"level":"info","message":"GET /devices/f62d6109-52e6-401d-bb77-8544a078d742? 200 34ms","method":"GET","requestID":"f142f980-f804-11ee-96ad-77028417699d","responseTime":34,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3? 200 34ms","method":"GET","requestID":"f14347a0-f804-11ee-96ad-77028417699d","responseTime":34,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7032413e-6f87-4a41-b3b3-d539a6a96f16","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6685815} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.470655,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f1478d60-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"3dc50870e372fc66413a7c380248f931","responseTime":179,"status":201,"url":"/experiments?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3dc50870e372fc66413a7c380248f931"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df4636ae-42e4-46eb-a2bd-40f1ba1ad48e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6773531} device_1 | {"level":"info","message":"POST /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling 200 15ms","method":"POST","requestID":"f1478d60-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.193597,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","rebac_allow":false,"scope_allow":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":"f148ecf0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling 200 13ms","method":"POST","requestID":"f148ecf0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8e94ed0d8242a3d0e17ee8c333de7a4f","responseTime":6,"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:38658","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.115628,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8e94ed0d8242a3d0e17ee8c333de7a4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"052c0e6f-8d41-4a5f-9f5b-54a2976d55dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.6945944} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.873873,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","rebac_allow":false,"scope_allow":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":"f14b8500-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.837079003Z"}]},"request_id":"bc9433d9-79d0-4acf-9def-60331fdb5cad","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.7003527} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling 200 13ms","method":"POST","requestID":"f14b8500-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/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":"8e94ed0d8242a3d0e17ee8c333de7a4f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"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":"a6e95c56-b3d6-47df-806b-d37eaeb887be"},{"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":"596ae8ea-ab01-4e5e-b0fd-ccb50ba87d02"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1011dce3-1c8f-4438-848d-380d68544e3d"}]},"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/572c9b0d-2c78-4b26-b378-5bbb00746da3"},{"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/f62d6109-52e6-401d-bb77-8544a078d742"}],"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":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f62d6109-52e6-401d-bb77-8544a078d742? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8e94ed0d8242a3d0e17ee8c333de7a4f"} device_1 | {"level":"info","message":"GET /devices/f62d6109-52e6-401d-bb77-8544a078d742? 200 21ms","method":"GET","requestID":"8e94ed0d8242a3d0e17ee8c333de7a4f","responseTime":21,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.74609,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"f14e1d10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"98fbf186bb96c8844011f4e34fbbdfef","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.750578,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"98fbf186bb96c8844011f4e34fbbdfef"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3f76ee43-fa14-44ea-8cbe-3f76f690fa5c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.7219608} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1f62e4dc-3d82-4532-82d9-9b3cbd39d362","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.7221482} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:10:59.881593679Z"}]},"request_id":"240c9bec-cbfe-48e7-84b9-4d99c7ecf01d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.7227128} 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":"f14e1d10-f804-11ee-96ad-77028417699d"},"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":"98fbf186bb96c8844011f4e34fbbdfef"},"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/572c9b0d-2c78-4b26-b378-5bbb00746da3? 200 14ms","method":"GET","requestID":"98fbf186bb96c8844011f4e34fbbdfef","responseTime":14,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98fbf186bb96c8844011f4e34fbbdfef"} 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/4cebff91-dc1b-4c19-82a2-318cbc113200'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 43ms","method":"POST","requestID":"f14e1d10-f804-11ee-96ad-77028417699d","responseTime":43,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"723a3e82-c6f0-477c-8de3-e4f4fc2ff12a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.789705} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.19271,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","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 1ms","method":"GET","requestID":"f32bcb3d9a3a2a0c5353704963d6baaa","responseTime":1,"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":"f15a5210-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/572c9b0d-2c78-4b26-b378-5bbb00746da3"},{"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/f62d6109-52e6-401d-bb77-8544a078d742"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"f32bcb3d9a3a2a0c5353704963d6baaa","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"f32bcb3d9a3a2a0c5353704963d6baaa"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling 200 24ms","method":"POST","requestID":"f15a5210-f804-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8cc2a42d-c09e-4722-8403-0bcf9620f765","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.8178945} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.043727,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","rebac_allow":false,"scope_allow":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":"f15e70c0-f804-11ee-96ad-77028417699d"},"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/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling 200 19ms","method":"POST","requestID":"f15e70c0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","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/4cebff91-dc1b-4c19-82a2-318cbc113200' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","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":"d54e6968f6137becee936124bb8eb26e","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/572c9b0d-2c78-4b26-b378-5bbb00746da3"},{"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/f62d6109-52e6-401d-bb77-8544a078d742"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cebff91-dc1b-4c19-82a2-318cbc113200","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1896a5c3-6ef4-4eaa-ab24-a20b4d88e3f9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.8554509} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.40747,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200","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":"f1646430-f804-11ee-96ad-77028417699d"},"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/4cebff91-dc1b-4c19-82a2-318cbc113200 200 8ms","method":"GET","requestID":"f1646430-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"d54e6968f6137becee936124bb8eb26e","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.038","http_referrer":"","http_user_agent":"node-fetch","requestID":"d54e6968f6137becee936124bb8eb26e"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f13381af-b7d0-4ba3-a8e3-7ee229c9ad9e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.8860278} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.371503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","rebac_allow":false,"scope_allow":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":"f168f810-f804-11ee-96ad-77028417699d"},"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/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling 200 9ms","method":"POST","requestID":"f168f810-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c11a6028-7055-4a8b-b68d-06f480d7e68f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.897111} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.526107,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","rebac_allow":false,"scope_allow":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":"f16accd0-f804-11ee-96ad-77028417699d"},"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/f62d6109-52e6-401d-bb77-8544a078d742/signaling 200 9ms","method":"POST","requestID":"f16accd0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d66a090a61f8c1c4e9b6d228a699f0fa","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/05f8a802-88db-4586-a68b-0083bdaebed1"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.185402,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"d66a090a61f8c1c4e9b6d228a699f0fa"},"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/05f8a802-88db-4586-a68b-0083bdaebed1"} gateway_1 | {"time_local":"11/Apr/2024:13:11:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/05f8a802-88db-4586-a68b-0083bdaebed1 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d66a090a61f8c1c4e9b6d228a699f0fa"} experiment_1 | {"level":"info","message":"GET /experiments/05f8a802-88db-4586-a68b-0083bdaebed1 200 13ms","method":"GET","requestID":"d66a090a61f8c1c4e9b6d228a699f0fa","responseTime":13,"status":200,"url":"/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f6aec28a9eebc414f880147d8942cf7e","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/05f8a802-88db-4586-a68b-0083bdaebed1"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.916347,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"f6aec28a9eebc414f880147d8942cf7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.434105,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841060,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MH0.M0ze8h6uRKqr5AanV7sS7DR8DinjZaDn3TN864r7nfA"} 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":"f1766590-f804-11ee-96ad-77028417699d"},"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/4cebff91-dc1b-4c19-82a2-318cbc113200' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cebff91-dc1b-4c19-82a2-318cbc113200': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F4cebff91-dc1b-4c19-82a2-318cbc113200","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"bf45481b-5d4f-4c96-89ca-cf3fafb6ad91","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.9927099} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4c9ae2e5ace8e2ea904e4352eabecc48","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec89bd6a-4f6e-4b42-a5b0-e460bb3a28f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841060.993363} 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":"f1766590-f804-11ee-96ad-77028417699d"},"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)"} 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/572c9b0d-2c78-4b26-b378-5bbb00746da3"},{"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/f62d6109-52e6-401d-bb77-8544a078d742"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"42cb16991d9e3c092351d3614cb1958c","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3"},{"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/f62d6109-52e6-401d-bb77-8544a078d742"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"4cebff91-dc1b-4c19-82a2-318cbc113200","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/4cebff91-dc1b-4c19-82a2-318cbc113200 204 61ms","method":"DELETE","requestID":"f1766590-f804-11ee-96ad-77028417699d","responseTime":61,"status":204,"url":"/peerconnections/4cebff91-dc1b-4c19-82a2-318cbc113200"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F572c9b0d-2c78-4b26-b378-5bbb00746da3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"622f4a57-d659-4485-894d-e2a51c47915f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.0642235} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.647849,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3","object_type":"device","rebac_allow":false,"scope_allow":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":"f183ac00-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05f8a802-88db-4586-a68b-0083bdaebed1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F05f8a802-88db-4586-a68b-0083bdaebed1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"fe48670f-3e5a-41cc-af60-7c325e499159","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.0719519} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0114cb1f-8cce-4eda-88ea-486ada8eedf6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.0724618} device_1 | {"level":"info","message":"POST /devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling 200 17ms","method":"POST","requestID":"f183ac00-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/572c9b0d-2c78-4b26-b378-5bbb00746da3/signaling"} 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":"f6aec28a9eebc414f880147d8942cf7e"},"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:38658","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff62d6109-52e6-401d-bb77-8544a078d742","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8db2c1ce-3fbb-428a-8203-1e3cbc0eacde","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.0870476} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.70926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742","object_type":"device","rebac_allow":false,"scope_allow":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":"f186e050-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling 200 17ms","method":"POST","requestID":"f186e050-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/f62d6109-52e6-401d-bb77-8544a078d742/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/05f8a802-88db-4586-a68b-0083bdaebed1"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/05f8a802-88db-4586-a68b-0083bdaebed1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6aec28a9eebc414f880147d8942cf7e"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.705","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cba9f9a784627a72153edbb9b51b8d20"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.729","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b10045a0b8c7ff18461122cbb3abe004"} experiment_1 | {"level":"info","message":"DELETE /experiments/05f8a802-88db-4586-a68b-0083bdaebed1 204 195ms","method":"DELETE","requestID":"f6aec28a9eebc414f880147d8942cf7e","responseTime":195,"status":204,"url":"/experiments/05f8a802-88db-4586-a68b-0083bdaebed1"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"4c9ae2e5ace8e2ea904e4352eabecc48","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"4c9ae2e5ace8e2ea904e4352eabecc48"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"42cb16991d9e3c092351d3614cb1958c","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.161","http_referrer":"","http_user_agent":"node-fetch","requestID":"42cb16991d9e3c092351d3614cb1958c"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f62d6109-52e6-401d-bb77-8544a078d742' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6a6c0f16d5c223c9d8d873558c140c37","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.812756,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"6a6c0f16d5c223c9d8d873558c140c37"},"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/572c9b0d-2c78-4b26-b378-5bbb00746da3' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"029bd20c-b552-4af7-adf5-9cd184189d08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.1757953} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a6c0f16d5c223c9d8d873558c140c37"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ab903db-fb34-4b59-93f5-71e345a15549","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.180844} 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":"6a6c0f16d5c223c9d8d873558c140c37"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"76d2951e-dab9-407b-be27-bebaf46b637b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.1906958} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eea33ae0-5e90-494f-8c57-8d69537baea6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.1909933} 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":"6a6c0f16d5c223c9d8d873558c140c37"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"6b9f47f3-c194-4c17-808b-cab73ac298cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.195988} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a6c0f16d5c223c9d8d873558c140c37"},"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":"6a6c0f16d5c223c9d8d873558c140c37","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6a6c0f16d5c223c9d8d873558c140c37"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9993e52dffc1346b8a18d9c59e720a29","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783024,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"9993e52dffc1346b8a18d9c59e720a29"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"875a6875-f1d3-4df6-96bd-f16bc288b533","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.2242327} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9993e52dffc1346b8a18d9c59e720a29"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"361cb417-d040-4741-89d5-2336f040fb8a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.229779} 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":"9993e52dffc1346b8a18d9c59e720a29"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"05b58c9d-dafc-4916-bf8b-88753e395e37","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.241612} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"10f73308-059d-4e21-bdb2-db89c23c1f67","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.2418587} 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":"9993e52dffc1346b8a18d9c59e720a29"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"61c8f70c-0729-449c-9a9a-b2adfa080eca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.2468903} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9993e52dffc1346b8a18d9c59e720a29"},"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":"9993e52dffc1346b8a18d9c59e720a29","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.071","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9993e52dffc1346b8a18d9c59e720a29"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d3dd2335f1f130a00e48c862a9de35d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687192,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"6d3dd2335f1f130a00e48c862a9de35d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"65a86bb645b90ac43607ca919d6979a8","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"2a90abbb-04cd-462f-8e9e-ba05c9a12ea4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.7210488} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d3dd2335f1f130a00e48c862a9de35d"},"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:38658","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.895164,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"65a86bb645b90ac43607ca919d6979a8"},"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":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59e89b0c-5cba-4397-a7d0-6b07b5fb0ca0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.7279944} 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":"6d3dd2335f1f130a00e48c862a9de35d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"55ac0a71-ec84-47f9-a1f0-f519a3c51e74","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.7555318} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d3dd2335f1f130a00e48c862a9de35d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"a1a1e52e-cac4-4542-aa51-30233de64c47","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.757072} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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":"65a86bb645b90ac43607ca919d6979a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/0fc4094b-fa25-4bf7-9cfe-722813821440 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.055","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6d3dd2335f1f130a00e48c862a9de35d"} device_1 | {"level":"info","message":"PATCH /devices/0fc4094b-fa25-4bf7-9cfe-722813821440 200 51ms","method":"PATCH","requestID":"6d3dd2335f1f130a00e48c862a9de35d","responseTime":51,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b786be67266fb0301b6b968d80e01d3e","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1762b517-d258-457d-98d3-e2150399a176","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.76626} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} 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":"65a86bb645b90ac43607ca919d6979a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.900014,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b786be67266fb0301b6b968d80e01d3e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"6a473712-40d5-4d9d-975c-194b742642f3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.7746885} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"65a86bb645b90ac43607ca919d6979a8"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6 200 56ms","method":"PATCH","requestID":"65a86bb645b90ac43607ca919d6979a8","responseTime":56,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"65a86bb645b90ac43607ca919d6979a8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eaa7b265fddda4c2e7f6805eca842f7f","responseTime":3,"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/0fc4094b-fa25-4bf7-9cfe-722813821440/websocket 200 17ms","method":"POST","requestID":"b786be67266fb0301b6b968d80e01d3e","responseTime":17,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0fc4094b-fa25-4bf7-9cfe-722813821440/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b786be67266fb0301b6b968d80e01d3e"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.871846,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eaa7b265fddda4c2e7f6805eca842f7f"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/websocket 200 12ms","method":"POST","requestID":"eaa7b265fddda4c2e7f6805eca842f7f","responseTime":12,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.016","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"eaa7b265fddda4c2e7f6805eca842f7f"} device_1 | {"level":"info","message":"device 'http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"67fb516900d0045ba3124ac4130f72df","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985264,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"67fb516900d0045ba3124ac4130f72df"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"c9fcf9e0-40f3-4eed-8ed0-f32db7d74a99","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.8266947} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"67fb516900d0045ba3124ac4130f72df"},"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/0fc4094b-fa25-4bf7-9cfe-722813821440? 200 15ms","method":"GET","requestID":"67fb516900d0045ba3124ac4130f72df","responseTime":15,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fc4094b-fa25-4bf7-9cfe-722813821440? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"67fb516900d0045ba3124ac4130f72df"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0aabe5a1cb01e1d19c6509770fa5df4","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96194,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"f0aabe5a1cb01e1d19c6509770fa5df4"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"319c7576-8f09-4f62-b72d-8ef25f57c7b7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.8458667} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0aabe5a1cb01e1d19c6509770fa5df4"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? 200 12ms","method":"GET","requestID":"f0aabe5a1cb01e1d19c6509770fa5df4","responseTime":12,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0aabe5a1cb01e1d19c6509770fa5df4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d0d2ed24ac87424406f09e94efe8a76d","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:38658","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.712696,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"d0d2ed24ac87424406f09e94efe8a76d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"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:38658","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184824,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"f204e9f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.719563,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"f2053810-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"25b58e13-ce56-49a7-aaea-817e6a8e5d76","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.9210956} 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":"f204e9f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"2cbc05f5-bd03-4fe8-9f7a-2275cd94c094","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841061.9228513} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2053810-f804-11ee-96ad-77028417699d"},"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/0fc4094b-fa25-4bf7-9cfe-722813821440? 200 25ms","method":"GET","requestID":"f204e9f0-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? 200 24ms","method":"GET","requestID":"f2053810-f804-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"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/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully running experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.00598,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f2123060-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55337,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"f2127e80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.441968,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a30b3ea-bf41-4e21-8293-fa14653a7331","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0045083} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","rebac_allow":false,"scope_allow":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":"f212a590-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"fffd0030-bbf9-4b6a-ace3-781aa1ffadee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0063038} 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":"f2123060-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"15fc873c-a9fb-44e4-a29d-60c73f06b701","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0104752} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling 200 21ms","method":"POST","requestID":"f212a590-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/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":"f2127e80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb251d103-0aa0-49d3-8ff9-a730b68b881c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb251d103-0aa0-49d3-8ff9-a730b68b881c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"4906f065-3bd3-4fa9-a200-6de7e94ee198","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0145261} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dcb0148c-bce2-436f-b3e1-1e5a78288b57","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.015063} 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":"d0d2ed24ac87424406f09e94efe8a76d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} device_1 | {"level":"info","message":"GET /devices/0fc4094b-fa25-4bf7-9cfe-722813821440? 200 31ms","method":"GET","requestID":"f2123060-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? 200 30ms","method":"GET","requestID":"f2127e80-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"836ae65e-0818-48b8-9263-bba441eebad9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0229285} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.226467,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","rebac_allow":false,"scope_allow":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":"f2164f10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 170ms","method":"POST","requestID":"d0d2ed24ac87424406f09e94efe8a76d","responseTime":170,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0d2ed24ac87424406f09e94efe8a76d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} device_1 | {"level":"info","message":"POST /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling 200 14ms","method":"POST","requestID":"f2164f10-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bc2737d0-d4dc-4532-82ba-30c798de4a23","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0325727} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.707077,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4ac561c519c0ef598929555beabd900","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f217d5b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759885,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling 200 12ms","method":"POST","requestID":"f217d5b0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4ac561c519c0ef598929555beabd900"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.190661969Z"}]},"request_id":"d20b9f33-fe5c-450c-8fd7-ee1ff603051f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0441332} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4ac561c519c0ef598929555beabd900"},"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:38658","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"51f5caf4-1266-4118-b0b1-c97548abe5fc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.046878} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.263604,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","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 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":"f21a1fa0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0fc4094b-fa25-4bf7-9cfe-722813821440? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4ac561c519c0ef598929555beabd900"} device_1 | {"level":"info","message":"GET /devices/0fc4094b-fa25-4bf7-9cfe-722813821440? 200 15ms","method":"GET","requestID":"b4ac561c519c0ef598929555beabd900","responseTime":15,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling 200 10ms","method":"POST","requestID":"f21a1fa0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"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":"ac4f5ecb-7173-47c8-a30b-4209ffa58da2"},{"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":"c332e190-de7f-4757-98a2-c72f856373ce"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"93f5d02e-5b2a-4951-acbb-0b3ad94937e8"}]},"level":"info","message":"Built pairwise service configurations"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} 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/0fc4094b-fa25-4bf7-9cfe-722813821440"},{"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b53fa65a5044c03b2283ca777efd1010","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.726144,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"b53fa65a5044c03b2283ca777efd1010"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.727123,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841061,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2MX0.0L1FxpX5zLyqt-2QaFyp19TebS471xyOAK_8stVXrgY"} 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":"f21c4280-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:01.241590117Z"}]},"request_id":"cd8096cc-0fae-44d5-81cd-c34c34377507","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0628943} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b53fa65a5044c03b2283ca777efd1010"},"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":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b53fa65a5044c03b2283ca777efd1010"} device_1 | {"level":"info","message":"GET /devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6? 200 13ms","method":"GET","requestID":"b53fa65a5044c03b2283ca777efd1010","responseTime":13,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d793f4ae-2224-4e62-97e4-148a036d184c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0703657} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"304ddecb-e45b-49ad-a5fa-4816d8259a5b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.0705678} 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":"f21c4280-f804-11ee-96ad-77028417699d"},"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/933bf786-9168-4c8d-8d4f-c768a10a3ee4'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"f21c4280-f804-11ee-96ad-77028417699d","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14f20cec-a4c1-4c05-86b2-7f30f3b8a1e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.1240146} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.624381,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4' to 'http://localhost/callbacks/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":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f225df70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","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":"78516b25943909ec57215bffc77bb5c3","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/0fc4094b-fa25-4bf7-9cfe-722813821440"},{"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling 200 12ms","method":"POST","requestID":"f225df70-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"78516b25943909ec57215bffc77bb5c3","responseTime":7,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"78516b25943909ec57215bffc77bb5c3"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e3e66efb-5b75-4b1f-857d-a18d1a0383b6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.1383078} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.278501,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} 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":"f2282960-f804-11ee-96ad-77028417699d"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling 200 9ms","method":"POST","requestID":"f2282960-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","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/933bf786-9168-4c8d-8d4f-c768a10a3ee4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","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":"e26314e658c9341c44a63efcc3ef0af7","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/0fc4094b-fa25-4bf7-9cfe-722813821440"},{"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F933bf786-9168-4c8d-8d4f-c768a10a3ee4","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06459afe-8912-43b1-b5a5-23904eea5963","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.1846797} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.18218,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4","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":"f22f0730-f804-11ee-96ad-77028417699d"},"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/933bf786-9168-4c8d-8d4f-c768a10a3ee4 200 10ms","method":"GET","requestID":"f22f0730-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 33ms","method":"POST","requestID":"e26314e658c9341c44a63efcc3ef0af7","responseTime":33,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"e26314e658c9341c44a63efcc3ef0af7"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14e0ab6c-e593-40ab-a201-ed2ef98b9ebd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.211555} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.187477,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","rebac_allow":false,"scope_allow":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":"f23325e0-f804-11ee-96ad-77028417699d"},"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/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling 200 10ms","method":"POST","requestID":"f23325e0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33afbc33-f970-44c9-b2f2-061efa8be7bc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.2242765} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.05245,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","rebac_allow":false,"scope_allow":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":"f23521b0-f804-11ee-96ad-77028417699d"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling 200 10ms","method":"POST","requestID":"f23521b0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3683855788dba03c8ae6f3cbd7c55ce9","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.317781,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"3683855788dba03c8ae6f3cbd7c55ce9"},"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/b251d103-0aa0-49d3-8ff9-a730b68b881c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3683855788dba03c8ae6f3cbd7c55ce9"} experiment_1 | {"level":"info","message":"GET /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c 200 18ms","method":"GET","requestID":"3683855788dba03c8ae6f3cbd7c55ce9","responseTime":18,"status":200,"url":"/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9277f19e83e0ba467417398981401030","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.281331,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"9277f19e83e0ba467417398981401030"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.298982,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"f2430460-f804-11ee-96ad-77028417699d"},"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/933bf786-9168-4c8d-8d4f-c768a10a3ee4' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","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":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F933bf786-9168-4c8d-8d4f-c768a10a3ee4': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F933bf786-9168-4c8d-8d4f-c768a10a3ee4","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"86615445-7c5a-4876-ac5a-fb34274e5f2f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.3372374} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"28fef0b0280838c1363766ee72a2cc37","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"da159e87-a44f-4c1e-8e22-775dbab26e06","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.3379657} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fdf9d761fdb0b3c26c6ad47ada2392ac","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/0fc4094b-fa25-4bf7-9cfe-722813821440"},{"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"}}},"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":"f2430460-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440"},{"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"933bf786-9168-4c8d-8d4f-c768a10a3ee4","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/933bf786-9168-4c8d-8d4f-c768a10a3ee4 204 61ms","method":"DELETE","requestID":"f2430460-f804-11ee-96ad-77028417699d","responseTime":61,"status":204,"url":"/peerconnections/933bf786-9168-4c8d-8d4f-c768a10a3ee4"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0fc4094b-fa25-4bf7-9cfe-722813821440","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1b299491-744c-4894-88c3-a734bc76dd2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.4070315} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.380699,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440","object_type":"device","rebac_allow":false,"scope_allow":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":"f25071e0-f804-11ee-96ad-77028417699d"},"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/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling 200 19ms","method":"POST","requestID":"f25071e0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/0fc4094b-fa25-4bf7-9cfe-722813821440/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb251d103-0aa0-49d3-8ff9-a730b68b881c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb251d103-0aa0-49d3-8ff9-a730b68b881c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"3a35c993-e9f7-48a6-9129-1d83049020b2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.4199734} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"525bf052-8a8d-4470-be0e-0e1350cccdfd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.421351} 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":"9277f19e83e0ba467417398981401030"},"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:38658","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"18918c00-fe38-440b-95be-279dfebd8ccd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.4285553} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.820576,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6","object_type":"device","rebac_allow":false,"scope_allow":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":"f253f450-f804-11ee-96ad-77028417699d"},"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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling 200 15ms","method":"POST","requestID":"f253f450-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.190","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9277f19e83e0ba467417398981401030"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2199","request_time":"0.683","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"50ffc23c63f97f6cfdae60083086f392"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2201","request_time":"0.692","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7b9f9bc0c7caac6f397b80e442ae50a1"} experiment_1 | {"level":"info","message":"DELETE /experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c 204 186ms","method":"DELETE","requestID":"9277f19e83e0ba467417398981401030","responseTime":186,"status":204,"url":"/experiments/b251d103-0aa0-49d3-8ff9-a730b68b881c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"28fef0b0280838c1363766ee72a2cc37","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch","requestID":"28fef0b0280838c1363766ee72a2cc37"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"06107d7b5fdc1b4448cd19fc0b0dd68a","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/cc16d6c9-9d16-4a18-98b8-b69ceff0bbf6' closed"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"fdf9d761fdb0b3c26c6ad47ada2392ac"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"fdf9d761fdb0b3c26c6ad47ada2392ac","responseTime":144,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0fc4094b-fa25-4bf7-9cfe-722813821440' closed"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.966729,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"06107d7b5fdc1b4448cd19fc0b0dd68a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ba7db707-f473-46fb-9d6e-3c9fa9789663","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5082421} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06107d7b5fdc1b4448cd19fc0b0dd68a"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ab90a16-35b9-47a4-a583-32637a3cdcf4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.514309} 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":"06107d7b5fdc1b4448cd19fc0b0dd68a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"1c1f3d7b-7759-429e-9c75-4a3209913f26","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5259097} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6cbb60ec-0086-464d-a7c0-9f8f9dc06c3f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5261564} 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":"06107d7b5fdc1b4448cd19fc0b0dd68a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.525872232Z"}]},"request_id":"5476f9a0-05fe-4579-b953-1231bc58e0d3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5315998} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06107d7b5fdc1b4448cd19fc0b0dd68a"},"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":"06107d7b5fdc1b4448cd19fc0b0dd68a","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06107d7b5fdc1b4448cd19fc0b0dd68a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"54ec180fe491a0772817624cbc5af0b3","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713781,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841062,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2Mn0.mT6tSv_RbKvUtOsjzSw7RaV1KAMJIFM3tpeSD1hxc70"} 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":"54ec180fe491a0772817624cbc5af0b3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"553c8d85-28d2-47da-828b-383679d2ce15","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5606334} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ec180fe491a0772817624cbc5af0b3"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b44b3d5b-fa06-4eb5-86fd-017546815f78","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5668058} 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":"54ec180fe491a0772817624cbc5af0b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3ab9eaff-dda1-4be7-b20e-e0df9eb81ba8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.576582} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbd24392-4be7-4afa-9d73-e05f2280f852","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5767257} 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":"54ec180fe491a0772817624cbc5af0b3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.576559766Z"}]},"request_id":"6ef2417b-f0e4-4968-bff7-d8a93c42b35b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841062.5821483} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ec180fe491a0772817624cbc5af0b3"},"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":"54ec180fe491a0772817624cbc5af0b3","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54ec180fe491a0772817624cbc5af0b3"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b4b0ebc0d1a146567d8f176b7938c39f","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/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":"b4b0ebc0d1a146567d8f176b7938c39f"} device_1 | {"level":"info","message":"OPTIONS /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/websocket 200 1ms","method":"OPTIONS","requestID":"b4b0ebc0d1a146567d8f176b7938c39f","responseTime":1,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95ac426be12be4a9f1418a09e662fd5a","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":"b3d60d91b42a35e153b4540c46af5251","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5d81e4a2-6726-493e-98dc-8344c627aab9/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":"b3d60d91b42a35e153b4540c46af5251"} device_1 | {"level":"info","message":"OPTIONS /devices/5d81e4a2-6726-493e-98dc-8344c627aab9/websocket 200 1ms","method":"OPTIONS","requestID":"b3d60d91b42a35e153b4540c46af5251","responseTime":1,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/websocket"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898232,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95ac426be12be4a9f1418a09e662fd5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c9b77cb3ca428e08b09adbddd771734b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77402,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9b77cb3ca428e08b09adbddd771734b"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332/websocket 200 30ms","method":"POST","requestID":"95ac426be12be4a9f1418a09e662fd5a","responseTime":30,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/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":"95ac426be12be4a9f1418a09e662fd5a"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5d81e4a2-6726-493e-98dc-8344c627aab9/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":"c9b77cb3ca428e08b09adbddd771734b"} device_1 | {"level":"info","message":"POST /devices/5d81e4a2-6726-493e-98dc-8344c627aab9/websocket 200 29ms","method":"POST","requestID":"c9b77cb3ca428e08b09adbddd771734b","responseTime":29,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b94d7861c7ed2f153a33016ad755022b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962856,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b94d7861c7ed2f153a33016ad755022b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.525872232Z"}]},"request_id":"cb45987d-e4f6-480b-9292-b87fd27cfdf4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.656909} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b94d7861c7ed2f153a33016ad755022b"},"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":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d81e4a2-6726-493e-98dc-8344c627aab9? 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":"b94d7861c7ed2f153a33016ad755022b"} device_1 | {"level":"info","message":"GET /devices/5d81e4a2-6726-493e-98dc-8344c627aab9? 200 14ms","method":"GET","requestID":"b94d7861c7ed2f153a33016ad755022b","responseTime":14,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3f1d30ad57837043b3f014e956406d7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.92225,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3f1d30ad57837043b3f014e956406d7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.576559766Z"}]},"request_id":"945b2efd-bacb-4e19-9e3b-9398ecd038fc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.6795988} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d3f1d30ad57837043b3f014e956406d7"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332? 200 17ms","method":"GET","requestID":"d3f1d30ad57837043b3f014e956406d7","responseTime":17,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332? 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":"d3f1d30ad57837043b3f014e956406d7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"40bf19afab2f994fdd53081ded7f3990","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:38658","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.110552,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} 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":"40bf19afab2f994fdd53081ded7f3990"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"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:38658","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.027885,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3b6dfb0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.402918,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3b706c0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.525872232Z"}]},"request_id":"fab088aa-9e8b-414d-86fa-299f2a18c893","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.7571878} 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":"f3b6dfb0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.576559766Z"}]},"request_id":"087b52d6-2309-4167-89b4-d47e42451ada","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.7610056} 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":"f3b706c0-f804-11ee-96ad-77028417699d"},"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/5d81e4a2-6726-493e-98dc-8344c627aab9? 200 19ms","method":"GET","requestID":"f3b6dfb0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332? 200 18ms","method":"GET","requestID":"f3b706c0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"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:38658","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79136,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3c25160-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.998709,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} 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":"f3c29f80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df4d3490-4ce3-4184-8ff2-aa003292224a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8329132} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.618976,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","rebac_allow":false,"scope_allow":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":"f3c2c690-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.525872232Z"}]},"request_id":"40fef1ee-3d78-46c0-8bc0-f3641c00fda0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8355477} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.576559766Z"}]},"request_id":"8e89d5a8-dddd-46b2-aadf-8a4a1ce1cb69","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8372426} 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":"f3c25160-f804-11ee-96ad-77028417699d"},"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":"f3c29f80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24a8b568-6211-4a87-a0f4-cd556c469aba#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24a8b568-6211-4a87-a0f4-cd556c469aba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"528e2724-f5e4-472a-a5e5-81249648466f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8438482} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling 200 19ms","method":"POST","requestID":"f3c2c690-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling"} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b22a6177-d2a3-4065-a310-eb8a3729ddad","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.844191} device_1 | {"level":"info","message":"GET /devices/5d81e4a2-6726-493e-98dc-8344c627aab9? 200 23ms","method":"GET","requestID":"f3c25160-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9?"} 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":"40bf19afab2f994fdd53081ded7f3990"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332? 200 23ms","method":"GET","requestID":"f3c29f80-f804-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"245b1744-71c0-4665-ae81-2be70603760c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8527825} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.081571,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","rebac_allow":false,"scope_allow":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":"f3c621f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment_1 | {"level":"info","message":"POST /experiments? 201 166ms","method":"POST","requestID":"40bf19afab2f994fdd53081ded7f3990","responseTime":166,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling 200 11ms","method":"POST","requestID":"f3c621f0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2502064-cda5-4e9c-8c34-4fc2d27a8ca3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8581066} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.674835,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","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":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40bf19afab2f994fdd53081ded7f3990"} 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":"f3c70c50-f804-11ee-96ad-77028417699d"},"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/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling 200 10ms","method":"POST","requestID":"f3c70c50-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"05048fc89e0f962ba658c336bf181949","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:38658","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.898443,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} 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":"05048fc89e0f962ba658c336bf181949"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12b648e7-e56c-44d5-b43c-b9016fe2efd8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8716776} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.819347,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","rebac_allow":false,"scope_allow":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":"f3c92f30-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.525872232Z"}]},"request_id":"86247187-448e-41ef-982d-25b8a60d7c8c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8772912} device_1 | {"level":"info","message":"POST /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling 200 10ms","method":"POST","requestID":"f3c92f30-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"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":"062220fe-abd5-48d9-9e5c-703f5df0db19"},{"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":"3dcf9352-93d1-4656-bce1-c54dc7d4051f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7176f4b7-4bf4-4e81-9d59-40d45792fd47"}]},"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/5d81e4a2-6726-493e-98dc-8344c627aab9"},{"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/e0d66381-caf7-417b-b7c3-1040e6bfd332"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} 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":"05048fc89e0f962ba658c336bf181949"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.959941,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} gateway_1 | {"time_local":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5d81e4a2-6726-493e-98dc-8344c627aab9? 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":"05048fc89e0f962ba658c336bf181949"} 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":"f3cb5210-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/5d81e4a2-6726-493e-98dc-8344c627aab9? 200 21ms","method":"GET","requestID":"05048fc89e0f962ba658c336bf181949","responseTime":21,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4747c4db66e92069c94655fb8315dd9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705939,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841064,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NH0.PNSLEdaWTdgiZMDbZwdpiLY84dg_d12w8TXz3v34n9w"} 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":"c4747c4db66e92069c94655fb8315dd9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d2342b8c-de3a-4300-8929-baa2f371b0e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.8955824} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"73b2fd2d-9852-4e67-b66e-2d08a6e3799b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.895948} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3cb5210-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:02.576559766Z"}]},"request_id":"ace04d91-632a-4361-a06e-aeec65958447","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.9053664} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4747c4db66e92069c94655fb8315dd9"},"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/23889bd9-e827-4dc8-bdb5-121fa63919b8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8'"} 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 54ms","method":"POST","requestID":"f3cb5210-f804-11ee-96ad-77028417699d","responseTime":54,"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":"11/Apr/2024:13:11:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.048","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4747c4db66e92069c94655fb8315dd9"} device_1 | {"level":"info","message":"GET /devices/e0d66381-caf7-417b-b7c3-1040e6bfd332? 200 45ms","method":"GET","requestID":"c4747c4db66e92069c94655fb8315dd9","responseTime":45,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67e55c7d-6e00-46fc-8e7a-385920810683","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.9707608} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.419775,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d84a60-f804-11ee-96ad-77028417699d"},"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/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling 200 9ms","method":"POST","requestID":"f3d84a60-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4147445b-7fec-448a-ba2f-035f6f1934c3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841064.9828885} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.077979,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:04Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","rebac_allow":false,"scope_allow":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":"f3d9f810-f804-11ee-96ad-77028417699d"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling 200 10ms","method":"POST","requestID":"f3d9f810-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","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":"b3a25459dcc8f6b3a171becdba38120c","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/5d81e4a2-6726-493e-98dc-8344c627aab9"},{"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/e0d66381-caf7-417b-b7c3-1040e6bfd332"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"b3a25459dcc8f6b3a171becdba38120c","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3a25459dcc8f6b3a171becdba38120c"} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","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/23889bd9-e827-4dc8-bdb5-121fa63919b8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","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":"7940f5efe91da1d98b45955ab72d8d1d","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/5d81e4a2-6726-493e-98dc-8344c627aab9"},{"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/e0d66381-caf7-417b-b7c3-1040e6bfd332"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23889bd9-e827-4dc8-bdb5-121fa63919b8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88b0a902-ebec-4996-8151-7e3da36a19c1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.1894457} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.161182,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8","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":"f3f966f0-f804-11ee-96ad-77028417699d"},"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/23889bd9-e827-4dc8-bdb5-121fa63919b8 200 13ms","method":"GET","requestID":"f3f966f0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"7940f5efe91da1d98b45955ab72d8d1d","responseTime":41,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"7940f5efe91da1d98b45955ab72d8d1d"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5923b928-a1f6-4a3c-b2d3-f08e4c8a2ff3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.2259123} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.670741,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","rebac_allow":false,"scope_allow":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":"f3fee530-f804-11ee-96ad-77028417699d"},"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/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling 200 14ms","method":"POST","requestID":"f3fee530-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c18ef4b-b98f-4e2b-a85b-20af9696548c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.2424507} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.310238,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","rebac_allow":false,"scope_allow":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":"f4017d40-f804-11ee-96ad-77028417699d"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling 200 14ms","method":"POST","requestID":"f4017d40-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e85612ac56e95ce2cf30072eb467cf2e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.330197,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841065,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw"} 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":"e85612ac56e95ce2cf30072eb467cf2e"},"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/24a8b568-6211-4a87-a0f4-cd556c469aba"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e85612ac56e95ce2cf30072eb467cf2e"} experiment_1 | {"level":"info","message":"GET /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba 200 13ms","method":"GET","requestID":"e85612ac56e95ce2cf30072eb467cf2e","responseTime":13,"status":200,"url":"/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2de195c779b56e3b5e86915b7210248","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.289447,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841065,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw"} 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":"d2de195c779b56e3b5e86915b7210248"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.112829,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841065,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw"} 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":"f40acc10-f804-11ee-96ad-77028417699d"},"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/23889bd9-e827-4dc8-bdb5-121fa63919b8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","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":"ded983aea8d099d312bc8c988fae39f9","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9"},{"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/e0d66381-caf7-417b-b7c3-1040e6bfd332"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f3e2d24817b29411ecb489b7d124977","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/5d81e4a2-6726-493e-98dc-8344c627aab9"},{"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/e0d66381-caf7-417b-b7c3-1040e6bfd332"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23889bd9-e827-4dc8-bdb5-121fa63919b8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F23889bd9-e827-4dc8-bdb5-121fa63919b8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"0e8591f8-085f-4f6b-9079-2fbf39aaaa3c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.3307145} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e61a5737-d601-4b9a-919d-0f202781cec3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.3314612} 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":"f40acc10-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"data":{"peerconnection":"23889bd9-e827-4dc8-bdb5-121fa63919b8","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/23889bd9-e827-4dc8-bdb5-121fa63919b8 204 65ms","method":"DELETE","requestID":"f40acc10-f804-11ee-96ad-77028417699d","responseTime":65,"status":204,"url":"/peerconnections/23889bd9-e827-4dc8-bdb5-121fa63919b8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5d81e4a2-6726-493e-98dc-8344c627aab9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3aed4d27-c8d5-4094-8267-c63755fadf3f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.3956933} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.007664,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9","object_type":"device","rebac_allow":false,"scope_allow":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":"f418aec0-f804-11ee-96ad-77028417699d"},"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/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling 200 17ms","method":"POST","requestID":"f418aec0-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/5d81e4a2-6726-493e-98dc-8344c627aab9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24a8b568-6211-4a87-a0f4-cd556c469aba': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F24a8b568-6211-4a87-a0f4-cd556c469aba","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"392378f4-3924-4d64-8de8-538f8780433a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.411126} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a85f006d-9aa2-45d1-b452-c345f10ec827","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.4115539} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} 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":"d2de195c779b56e3b5e86915b7210248"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":28}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe0d66381-caf7-417b-b7c3-1040e6bfd332","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d6eb549c-dce3-4ea4-88ed-ec2323056b96","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.4163697} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.716664,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332","object_type":"device","rebac_allow":false,"scope_allow":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":"f41bbc00-f804-11ee-96ad-77028417699d"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling 200 16ms","method":"POST","requestID":"f41bbc00-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/e0d66381-caf7-417b-b7c3-1040e6bfd332/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba 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":"d2de195c779b56e3b5e86915b7210248"} experiment_1 | {"level":"info","message":"DELETE /experiments/24a8b568-6211-4a87-a0f4-cd556c469aba 204 198ms","method":"DELETE","requestID":"d2de195c779b56e3b5e86915b7210248","responseTime":198,"status":204,"url":"/experiments/24a8b568-6211-4a87-a0f4-cd556c469aba"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 155ms","method":"POST","requestID":"ded983aea8d099d312bc8c988fae39f9","responseTime":155,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.160","http_referrer":"","http_user_agent":"node-fetch","requestID":"ded983aea8d099d312bc8c988fae39f9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"0f3e2d24817b29411ecb489b7d124977","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.162","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f3e2d24817b29411ecb489b7d124977"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"d70ea9ca8bc2fc40dae79a31f83c9983","responseTime":7,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2127","request_time":"0.879","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0c041b29e6421d6beba092ac121b235d"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2399","request_time":"0.870","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8f07cc94cb4e0ffd7b1252dfd6169105"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.809571,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841065,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw"} 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":"d70ea9ca8bc2fc40dae79a31f83c9983"},"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/e0d66381-caf7-417b-b7c3-1040e6bfd332' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5d81e4a2-6726-493e-98dc-8344c627aab9' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fcb298dd-3b30-4756-a693-637461ffee26","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5101743} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d70ea9ca8bc2fc40dae79a31f83c9983"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4af42a7-d6c9-42b8-ba3b-9edd17228beb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5167544} 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":"d70ea9ca8bc2fc40dae79a31f83c9983"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d18f2557-c0b4-4d5a-947f-a6e6b11aac8f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5280151} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d794953f-6236-48d8-8b35-bca742d1c6f9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5280726} 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":"d70ea9ca8bc2fc40dae79a31f83c9983"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.527992906Z"}]},"request_id":"88c3698e-46b0-427d-a095-506fd32cbee8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5331748} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d70ea9ca8bc2fc40dae79a31f83c9983"},"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":"d70ea9ca8bc2fc40dae79a31f83c9983","responseTime":45,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d70ea9ca8bc2fc40dae79a31f83c9983"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fa888675f32a7a2bdd23df3b1d5e8c60","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.646572,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841065,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2NX0.-wzgTH2ptScUSG2btx2x5_TSZ5bJjugPt1rOFvvhNcw"} 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":"fa888675f32a7a2bdd23df3b1d5e8c60"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9cbcec86-33d1-426a-bf3e-4fafe8a17a29","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5633225} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa888675f32a7a2bdd23df3b1d5e8c60"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"15579b8e-b5ef-4c0b-94e2-7fa8027a0ce6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5692217} 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":"fa888675f32a7a2bdd23df3b1d5e8c60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"75b72642-3198-4f0f-b2c7-703303972a9b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.5810204} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03f38dd5-28a0-484c-9ab7-3728e6aa2dfc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.581429} 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":"fa888675f32a7a2bdd23df3b1d5e8c60"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.580995748Z"}]},"request_id":"952aeeb1-d10a-4707-9c5c-9ae5f4a0eda4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841065.587351} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa888675f32a7a2bdd23df3b1d5e8c60"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"fa888675f32a7a2bdd23df3b1d5e8c60","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.076","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa888675f32a7a2bdd23df3b1d5e8c60"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0158729a38e7a6bb79964465e9a67faf","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/df86c202-803f-42e1-a9b4-742f31c2949f/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":"0158729a38e7a6bb79964465e9a67faf"} device_1 | {"level":"info","message":"OPTIONS /devices/df86c202-803f-42e1-a9b4-742f31c2949f/websocket 200 1ms","method":"OPTIONS","requestID":"0158729a38e7a6bb79964465e9a67faf","responseTime":1,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86cab31b79151d5ba03680d5c1db9d50","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":"a28a6cdd2ad15f60ee1d8232d215e9f2","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/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":"a28a6cdd2ad15f60ee1d8232d215e9f2"} device_1 | {"level":"info","message":"OPTIONS /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/websocket 200 1ms","method":"OPTIONS","requestID":"a28a6cdd2ad15f60ee1d8232d215e9f2","responseTime":1,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/websocket"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86cab31b79151d5ba03680d5c1db9d50"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ebbb9bf40102bd78f444caf6993907ff","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84054,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebbb9bf40102bd78f444caf6993907ff"},"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/df86c202-803f-42e1-a9b4-742f31c2949f/websocket 200 37ms","method":"POST","requestID":"86cab31b79151d5ba03680d5c1db9d50","responseTime":37,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/df86c202-803f-42e1-a9b4-742f31c2949f/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"86cab31b79151d5ba03680d5c1db9d50"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ebbb9bf40102bd78f444caf6993907ff"} device_1 | {"level":"info","message":"POST /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/websocket 200 39ms","method":"POST","requestID":"ebbb9bf40102bd78f444caf6993907ff","responseTime":39,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"787e1e49e2c57d2011a901168924783e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.792124,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} 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":"787e1e49e2c57d2011a901168924783e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.527992906Z"}]},"request_id":"160f38d0-77f5-4c5b-8b28-c86a94de8174","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.6658745} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"787e1e49e2c57d2011a901168924783e"},"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":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 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":"787e1e49e2c57d2011a901168924783e"} device_1 | {"level":"info","message":"GET /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 200 19ms","method":"GET","requestID":"787e1e49e2c57d2011a901168924783e","responseTime":19,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cae57525663cc8ba7d649429576f8661","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.318634,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cae57525663cc8ba7d649429576f8661"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.580995748Z"}]},"request_id":"d40506e5-c6c2-4f80-b09c-2b6cdb61367a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.6883817} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cae57525663cc8ba7d649429576f8661"},"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":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 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":"cae57525663cc8ba7d649429576f8661"} device_1 | {"level":"info","message":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 200 15ms","method":"GET","requestID":"cae57525663cc8ba7d649429576f8661","responseTime":15,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"424c23298b1333a146c7d2496f57db00","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:38658","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.689051,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} 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":"424c23298b1333a146c7d2496f57db00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"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:38658","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065563,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5816680-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.144133,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5818d90-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.527992906Z"}]},"request_id":"9c4e731e-e0a7-4ab2-9b19-cd1922639296","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.7642753} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5816680-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.580995748Z"}]},"request_id":"d11c0217-03d6-4034-93e1-7fb17867e20a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.7663467} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5818d90-f804-11ee-96ad-77028417699d"},"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 200 22ms","method":"GET","requestID":"f5816680-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 200 22ms","method":"GET","requestID":"f5818d90-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"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/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.010398,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} 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":"f58d9b80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.503544,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} 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":"f58de9a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.277573,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dd22eff-6775-4555-9637-2978fbb65f0d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8463867} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"f58e37c0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.527992906Z"}]},"request_id":"32826ed1-e3ef-4c7b-b807-f8b160c11b12","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8494556} 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":"f58d9b80-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.580995748Z"}]},"request_id":"93ed9cea-bdbb-4b66-8d2f-9e444c32fd04","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.853208} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling 200 18ms","method":"POST","requestID":"f58e37c0-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/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":"f58de9a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F35d170f4-c50a-40c5-8c50-748ddedefbd3#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F35d170f4-c50a-40c5-8c50-748ddedefbd3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"b8b810c2-5dbd-4026-b027-ec9a28ce59c4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8610234} device_1 | {"level":"info","message":"GET /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 200 30ms","method":"GET","requestID":"f58d9b80-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91399175-d046-4184-a76d-c898a48d914f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8611763} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} device_1 | {"level":"info","message":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 200 29ms","method":"GET","requestID":"f58de9a0-f804-11ee-96ad-77028417699d","responseTime":29,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f?"} 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":"424c23298b1333a146c7d2496f57db00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6ce12e62-1660-4515-970d-95273811247b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.864774} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.563712,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5919320-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling 200 13ms","method":"POST","requestID":"f5919320-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"432f5b52-22bf-4846-9a09-c1d7f5be0293","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8712292} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082092,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"f592cba0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 178ms","method":"POST","requestID":"424c23298b1333a146c7d2496f57db00","responseTime":178,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.183","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"424c23298b1333a146c7d2496f57db00"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling 200 11ms","method":"POST","requestID":"f592cba0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","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":"571bd0e75f01c79be94c6cc83799a7ea","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4f1247b-cc0a-4e2b-b8fd-19c8e92f27ea","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.885305} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.306828,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"571bd0e75f01c79be94c6cc83799a7ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.382328,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","rebac_allow":false,"scope_allow":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":"f594c770-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.527992906Z"}]},"request_id":"80555ff0-dbc7-48b4-b67d-fc7d56c85895","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.8909914} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling 200 13ms","method":"POST","requestID":"f594c770-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"571bd0e75f01c79be94c6cc83799a7ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"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":"df4682fd-b1a9-4019-a721-7e2856dcf945"},{"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":"7d155a3b-4208-43d1-a424-e6914b33564c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"66cc4da2-359d-40ee-9e76-434aeec3792f"}]},"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/df86c202-803f-42e1-a9b4-742f31c2949f"},{"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0"}],"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":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 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":"571bd0e75f01c79be94c6cc83799a7ea"} device_1 | {"level":"info","message":"GET /devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0? 200 17ms","method":"GET","requestID":"571bd0e75f01c79be94c6cc83799a7ea","responseTime":17,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.082852,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} 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":"f5975f80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a40b947c9a91b6b913fcdb122f4c2912","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981156,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841067,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2N30.iUO7pvBBiMQZpFm2tkzbR00fHltslY1hd1KW09yalbg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a40b947c9a91b6b913fcdb122f4c2912"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"1e290e5f-8b5c-46aa-ada8-a7c764428d04","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.9111683} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"915f1b1a-6a5a-44e5-a581-dd8162f0bf2f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.911562} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:05.580995748Z"}]},"request_id":"611ffcdf-d329-4c4c-a5aa-6bb8091b78ce","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.9123194} 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":"f5975f80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"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":"a40b947c9a91b6b913fcdb122f4c2912"},"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":"11/Apr/2024:13:11:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 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":"a40b947c9a91b6b913fcdb122f4c2912"} device_1 | {"level":"info","message":"GET /devices/df86c202-803f-42e1-a9b4-742f31c2949f? 200 15ms","method":"GET","requestID":"a40b947c9a91b6b913fcdb122f4c2912","responseTime":15,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f?"} 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/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"f5975f80-f804-11ee-96ad-77028417699d","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b73f467-6395-4dd7-a44d-7c887f298079","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.9668634} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.430827,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"f5a171a0-f804-11ee-96ad-77028417699d"},"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling 200 10ms","method":"POST","requestID":"f5a171a0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"beed7be2-8a59-4ef3-9cd3-5859d277af1e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841067.9779544} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.527261,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:07Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","rebac_allow":false,"scope_allow":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":"f5a31f50-f804-11ee-96ad-77028417699d"},"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/df86c202-803f-42e1-a9b4-742f31c2949f/signaling 200 9ms","method":"POST","requestID":"f5a31f50-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","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":"2094cad4e4123268dd782dae32aa0b6f","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f"},{"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"2094cad4e4123268dd782dae32aa0b6f","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"2094cad4e4123268dd782dae32aa0b6f"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","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/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","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":"256e2004e75348fae81ca4ddea72e6b0","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/df86c202-803f-42e1-a9b4-742f31c2949f"},{"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd392a6e3-b85b-4d56-a9f3-a4f6076b81ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d79c238-a980-4a09-b62d-6168d99e3a0e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.187691} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.855168,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","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":"f5c2b540-f804-11ee-96ad-77028417699d"},"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/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee 200 14ms","method":"GET","requestID":"f5c2b540-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 37ms","method":"POST","requestID":"256e2004e75348fae81ca4ddea72e6b0","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch","requestID":"256e2004e75348fae81ca4ddea72e6b0"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88e47bd1-6720-4b11-85d3-f3b0fdd58977","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.2170904} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.733075,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","rebac_allow":false,"scope_allow":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":"f5c77030-f804-11ee-96ad-77028417699d"},"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/df86c202-803f-42e1-a9b4-742f31c2949f/signaling 200 13ms","method":"POST","requestID":"f5c77030-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3279ece1-40ac-407c-bbc8-bec62f3f46dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.2336276} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.222433,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"f5c9e130-f804-11ee-96ad-77028417699d"},"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling 200 14ms","method":"POST","requestID":"f5c9e130-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"61ac2fe213e67768d3e46a46a7477cfc","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.206579,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841068,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw"} 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":"61ac2fe213e67768d3e46a46a7477cfc"},"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/35d170f4-c50a-40c5-8c50-748ddedefbd3"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"61ac2fe213e67768d3e46a46a7477cfc"} experiment_1 | {"level":"info","message":"GET /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3 200 19ms","method":"GET","requestID":"61ac2fe213e67768d3e46a46a7477cfc","responseTime":19,"status":200,"url":"/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"29dd57e81ce78dfb37f7b386e1a4b0be","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.422736,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841068,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw"} 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":"29dd57e81ce78dfb37f7b386e1a4b0be"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.262074,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841068,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw"} 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":"f5d7eaf0-f804-11ee-96ad-77028417699d"},"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/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd392a6e3-b85b-4d56-a9f3-a4f6076b81ee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd392a6e3-b85b-4d56-a9f3-a4f6076b81ee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"b8ce96ee-3e9d-4e9c-9b71-6f6692d1c5ed","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.3453095} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3481bc9f-d8b1-4f9d-8ac5-b1db87474b02","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.3458297} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8c9bc5a28a87873a7da2e8cf6792b300","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f"},{"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"}}},"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":"f5d7eaf0-f804-11ee-96ad-77028417699d"},"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 1ms","method":"GET","requestID":"5c4ad76ad30546c8ef388c91ce4308dd","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/df86c202-803f-42e1-a9b4-742f31c2949f"},{"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"d392a6e3-b85b-4d56-a9f3-a4f6076b81ee","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/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee 204 52ms","method":"DELETE","requestID":"f5d7eaf0-f804-11ee-96ad-77028417699d","responseTime":52,"status":204,"url":"/peerconnections/d392a6e3-b85b-4d56-a9f3-a4f6076b81ee"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fdf86c202-803f-42e1-a9b4-742f31c2949f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3942e7-62d5-426f-b5d0-6ce7b5be48f7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.4027297} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.921989,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f","object_type":"device","rebac_allow":false,"scope_allow":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":"f5e3aac0-f804-11ee-96ad-77028417699d"},"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/df86c202-803f-42e1-a9b4-742f31c2949f/signaling 200 14ms","method":"POST","requestID":"f5e3aac0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/df86c202-803f-42e1-a9b4-742f31c2949f/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F35d170f4-c50a-40c5-8c50-748ddedefbd3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F35d170f4-c50a-40c5-8c50-748ddedefbd3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"d2431eec-a159-46bc-9c5d-06df750dbc61","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.412641} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83667614-fb56-4493-9a06-df3a94f60cfe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.413195} 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":"29dd57e81ce78dfb37f7b386e1a4b0be"},"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:38658","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcd1f9b1e-6524-4f02-a879-f56a12b13fa0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd90476f-dd88-40b2-a5a6-641dbc0d8c21","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.4210324} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.827739,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0","object_type":"device","rebac_allow":false,"scope_allow":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":"f5e669e0-f804-11ee-96ad-77028417699d"},"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/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling 200 15ms","method":"POST","requestID":"f5e669e0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29dd57e81ce78dfb37f7b386e1a4b0be"} experiment_1 | {"level":"info","message":"DELETE /experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3 204 176ms","method":"DELETE","requestID":"29dd57e81ce78dfb37f7b386e1a4b0be","responseTime":176,"status":204,"url":"/experiments/35d170f4-c50a-40c5-8c50-748ddedefbd3"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"8c9bc5a28a87873a7da2e8cf6792b300"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"8c9bc5a28a87873a7da2e8cf6792b300","responseTime":133,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6cb1dac9314f7ac3353f95089e3eff53","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2397","request_time":"0.870","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"83826abf0df5569a7d7b62ca2aa25e6b"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2130","request_time":"0.861","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0214e40f8288613f36cd0ee313b147c3"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.846489,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841068,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/cd1f9b1e-6524-4f02-a879-f56a12b13fa0' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cb1dac9314f7ac3353f95089e3eff53"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"5c4ad76ad30546c8ef388c91ce4308dd","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c4ad76ad30546c8ef388c91ce4308dd"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/df86c202-803f-42e1-a9b4-742f31c2949f' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9b05fae7-d7be-423f-9735-b9ed924ccaba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5123496} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cb1dac9314f7ac3353f95089e3eff53"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1c11de6-5386-4f6b-ab73-4cf9695b1e61","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5176537} 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":"6cb1dac9314f7ac3353f95089e3eff53"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"64ee6247-fd87-4ff3-a1af-b3ee4a4e4a70","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5274742} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd27bac2-e206-4071-bc19-2475225739f4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5277383} 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":"6cb1dac9314f7ac3353f95089e3eff53"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.527443447Z"}]},"request_id":"612ea3e4-d364-40eb-bffa-39d1423283ef","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5322058} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6cb1dac9314f7ac3353f95089e3eff53"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 48ms","method":"POST","requestID":"6cb1dac9314f7ac3353f95089e3eff53","responseTime":48,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6cb1dac9314f7ac3353f95089e3eff53"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c29aa9c356b53e6b8e5a00255cf6daa8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.457579,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841068,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OH0.z4ZVJftXVBGR9qzVMQZG8XeZOsx3Y37d0O2oelHiLhw"} 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":"c29aa9c356b53e6b8e5a00255cf6daa8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8e36a7ad-06d0-419c-9ee9-88e016fbfd09","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5580688} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c29aa9c356b53e6b8e5a00255cf6daa8"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f4ff5a4e-313a-4391-b3a1-b298759d8635","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5622592} 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":"c29aa9c356b53e6b8e5a00255cf6daa8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a302356f-ac10-430a-867a-4738f8d5b6bb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5751548} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3b9a226f-5621-4df5-8bb0-f2f30c9decf0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.5756972} 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":"c29aa9c356b53e6b8e5a00255cf6daa8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"c80c5b86-426f-4931-9734-7b2d3c04555b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841068.579245} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c29aa9c356b53e6b8e5a00255cf6daa8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 41ms","method":"POST","requestID":"c29aa9c356b53e6b8e5a00255cf6daa8","responseTime":41,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.065","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c29aa9c356b53e6b8e5a00255cf6daa8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OX0.i7Xc7NdRy7yZjlCAlBkEsG0UTAqVfRISB-d4gfv1K5E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"368ba8b9fe70435f2572ef8a088e59db","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:09Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.272926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841069,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OX0.i7Xc7NdRy7yZjlCAlBkEsG0UTAqVfRISB-d4gfv1K5E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"368ba8b9fe70435f2572ef8a088e59db"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"731c1013-8d41-4947-8277-060f4925c2c7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841069.0718577} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"368ba8b9fe70435f2572ef8a088e59db"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c54bc344-d1cd-4ccf-9b5c-60f936a28edd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841069.077965} 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":"368ba8b9fe70435f2572ef8a088e59db"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"368561a7-2c1f-47b1-94ea-180139c08ee1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841069.0929227} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"368ba8b9fe70435f2572ef8a088e59db"},"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/002c46e5-8257-4099-8d8e-4e4988da8215 200 38ms","method":"PATCH","requestID":"368ba8b9fe70435f2572ef8a088e59db","responseTime":38,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215"} gateway_1 | {"time_local":"11/Apr/2024:13:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/002c46e5-8257-4099-8d8e-4e4988da8215 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.042","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"368ba8b9fe70435f2572ef8a088e59db"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OX0.i7Xc7NdRy7yZjlCAlBkEsG0UTAqVfRISB-d4gfv1K5E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c439fae407c539dc960c3d73fc69930c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:09Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.834825,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841069,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA2OX0.i7Xc7NdRy7yZjlCAlBkEsG0UTAqVfRISB-d4gfv1K5E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c439fae407c539dc960c3d73fc69930c"},"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":"11/Apr/2024:13:11:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/002c46e5-8257-4099-8d8e-4e4988da8215/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.020","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c439fae407c539dc960c3d73fc69930c"} device_1 | {"level":"info","message":"POST /devices/002c46e5-8257-4099-8d8e-4e4988da8215/websocket 200 17ms","method":"POST","requestID":"c439fae407c539dc960c3d73fc69930c","responseTime":17,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215' 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":"1c1b2afe1d7088db81392aa92ee41ad9","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/96955f83-b730-4043-abaf-d59a67cce4af/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":"1c1b2afe1d7088db81392aa92ee41ad9"} device_1 | {"level":"info","message":"OPTIONS /devices/96955f83-b730-4043-abaf-d59a67cce4af/websocket 200 2ms","method":"OPTIONS","requestID":"1c1b2afe1d7088db81392aa92ee41ad9","responseTime":2,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9edeff3f892f223d2e9141b4fa9879d0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.552077,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"9edeff3f892f223d2e9141b4fa9879d0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/96955f83-b730-4043-abaf-d59a67cce4af/websocket 200 44ms","method":"POST","requestID":"9edeff3f892f223d2e9141b4fa9879d0","responseTime":44,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/96955f83-b730-4043-abaf-d59a67cce4af/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.050","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9edeff3f892f223d2e9141b4fa9879d0"} device_1 | {"level":"info","message":"device 'http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"911be2cdfa6eb026767ab48c9bba2675","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109022,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"911be2cdfa6eb026767ab48c9bba2675"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.527443447Z"}]},"request_id":"e65277a0-f8a4-4378-8677-1962b2b7f9a4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.6571662} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"911be2cdfa6eb026767ab48c9bba2675"},"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":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96955f83-b730-4043-abaf-d59a67cce4af? 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":"911be2cdfa6eb026767ab48c9bba2675"} device_1 | {"level":"info","message":"GET /devices/96955f83-b730-4043-abaf-d59a67cce4af? 200 18ms","method":"GET","requestID":"911be2cdfa6eb026767ab48c9bba2675","responseTime":18,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"40c5e87f0e19baab57b212bb53921bf9","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.367089,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c5e87f0e19baab57b212bb53921bf9"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"5a103c5a-d9cf-4d76-9668-74ded2c37e64","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.6848974} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"40c5e87f0e19baab57b212bb53921bf9"},"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":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/002c46e5-8257-4099-8d8e-4e4988da8215? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40c5e87f0e19baab57b212bb53921bf9"} device_1 | {"level":"info","message":"GET /devices/002c46e5-8257-4099-8d8e-4e4988da8215? 200 19ms","method":"GET","requestID":"40c5e87f0e19baab57b212bb53921bf9","responseTime":19,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b6a487072b2cb0719bd3196974ba22b","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:38658","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.253041,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"1b6a487072b2cb0719bd3196974ba22b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"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:38658","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122507,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f74bed50-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.290559,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"f74c3b70-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.527443447Z"}]},"request_id":"14f81b14-f988-4e38-9aac-55391698f0fd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.7733445} 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":"f74bed50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"a81afecc-86ad-443b-bd23-100b8e4ef002","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.775} 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":"f74c3b70-f804-11ee-96ad-77028417699d"},"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/96955f83-b730-4043-abaf-d59a67cce4af? 200 26ms","method":"GET","requestID":"f74bed50-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/002c46e5-8257-4099-8d8e-4e4988da8215? 200 25ms","method":"GET","requestID":"f74c3b70-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"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:38658","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.798029,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"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":"f759a8f0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.580262,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"f759f710-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:39490","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.776768,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b225b93-d24a-49ac-8bf5-518971f1c754","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.861653} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","rebac_allow":false,"scope_allow":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":"f75a4530-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.527443447Z"}]},"request_id":"14d206fd-5035-4187-be87-a5afe53164fe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.8668463} 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":"f759a8f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"92ad0ac7-1c3e-49b2-b60f-99ee1c03dbee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.8730278} 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":"f759f710-f804-11ee-96ad-77028417699d"},"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/96955f83-b730-4043-abaf-d59a67cce4af/signaling 200 26ms","method":"POST","requestID":"f75a4530-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"c149b286-22fc-4a05-972f-8425f1255740","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.8792913} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04c9cc47-f2dc-4954-8595-6469135727e4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.8799312} 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":"1b6a487072b2cb0719bd3196974ba22b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":21}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} device_1 | {"level":"info","message":"GET /devices/96955f83-b730-4043-abaf-d59a67cce4af? 200 39ms","method":"GET","requestID":"f759a8f0-f804-11ee-96ad-77028417699d","responseTime":39,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4fb8b4a-9fa4-4de9-9164-39e49dc4fa16","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.8900812} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.422282,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","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/002c46e5-8257-4099-8d8e-4e4988da8215? 200 44ms","method":"GET","requestID":"f759f710-f804-11ee-96ad-77028417699d","responseTime":44,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215?"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f75f0020-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"level":"info","message":"POST /experiments? 201 194ms","method":"POST","requestID":"1b6a487072b2cb0719bd3196974ba22b","responseTime":194,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b6a487072b2cb0719bd3196974ba22b"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling 200 20ms","method":"POST","requestID":"f75f0020-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9dccd5dea26b74509c18b920478082ee","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d5a2068-520c-4023-bc5d-5b0a42156aff","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.9081552} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.811688,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","rebac_allow":false,"scope_allow":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":"f7619830-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.951092,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dccd5dea26b74509c18b920478082ee"},"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/96955f83-b730-4043-abaf-d59a67cce4af/signaling 200 16ms","method":"POST","requestID":"f7619830-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.527443447Z"}]},"request_id":"558cc573-5653-43b4-b4e2-8d42d39c69e5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.9165585} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9dccd5dea26b74509c18b920478082ee"},"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:38658","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} device_1 | {"level":"info","message":"GET /devices/96955f83-b730-4043-abaf-d59a67cce4af? 200 15ms","method":"GET","requestID":"9dccd5dea26b74509c18b920478082ee","responseTime":15,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/96955f83-b730-4043-abaf-d59a67cce4af? 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":"9dccd5dea26b74509c18b920478082ee"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"07a34b7d-0e75-4aed-a31e-987a51447b12","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.9241917} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943137,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y","level":"info","message":"auth send jwt"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f764a570-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6245802e6833d28432662c5a22dff725","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.816611,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"6245802e6833d28432662c5a22dff725"},"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/002c46e5-8257-4099-8d8e-4e4988da8215/signaling 200 14ms","method":"POST","requestID":"f764a570-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"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":"fb148036-2d0c-4bfb-a852-0c795d56a4c8"},{"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":"4f36cb3d-763b-4b9e-8f52-47d564de6421"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"36d2acdc-5f56-4b4a-960e-5e513c86a9e4"}]},"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/002c46e5-8257-4099-8d8e-4e4988da8215"},{"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/96955f83-b730-4043-abaf-d59a67cce4af"}],"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:08.575121948Z"}]},"request_id":"5e95a8b8-cfb3-465c-9367-7a6a33088d99","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.938578} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6245802e6833d28432662c5a22dff725"},"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:38658","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.891854,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841070,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3MH0.j5yfqDzCErnFzmIg2IgX6r9vTBtZn0XReEU4xwjfL7Y"} 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":"f7676490-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:11:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/002c46e5-8257-4099-8d8e-4e4988da8215? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6245802e6833d28432662c5a22dff725"} device_1 | {"level":"info","message":"GET /devices/002c46e5-8257-4099-8d8e-4e4988da8215? 200 20ms","method":"GET","requestID":"6245802e6833d28432662c5a22dff725","responseTime":20,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"902afc53-8933-45af-9b0e-07c99dbe509d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.9542933} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e88d8376-3a3d-444d-b695-40876129f492","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841070.9546294} 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":"f7676490-f804-11ee-96ad-77028417699d"},"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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 42ms","method":"POST","requestID":"f7676490-f804-11ee-96ad-77028417699d","responseTime":42,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:11Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88f9dbe3-d5ab-4e42-bd5b-f511dd88ec1b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841071.0125477} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.476992,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:11Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","rebac_allow":false,"scope_allow":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":"f7723a00-f804-11ee-96ad-77028417699d"},"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/96955f83-b730-4043-abaf-d59a67cce4af/signaling 200 9ms","method":"POST","requestID":"f7723a00-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:11Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7fe9dc6d-6433-43d6-aa56-14cfce87a6e6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841071.0233536} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.46233,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:11Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","rebac_allow":false,"scope_allow":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":"f773e7b0-f804-11ee-96ad-77028417699d"},"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/002c46e5-8257-4099-8d8e-4e4988da8215/signaling 200 9ms","method":"POST","requestID":"f773e7b0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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":"346d643a1ef300a0fd2a0a42f9a81337","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215"},{"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/96955f83-b730-4043-abaf-d59a67cce4af"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"346d643a1ef300a0fd2a0a42f9a81337","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"346d643a1ef300a0fd2a0a42f9a81337"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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":"71bb1f68aab5462731a268792d101ad6","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/002c46e5-8257-4099-8d8e-4e4988da8215"},{"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/96955f83-b730-4043-abaf-d59a67cce4af"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d0a1964-2255-42e6-b4bc-4bda3373bb0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7cb57051-0fc9-49ea-bc36-bf9b8dfd5363","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.106175} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.70964,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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":"f818b330-f804-11ee-96ad-77028417699d"},"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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a 200 15ms","method":"GET","requestID":"f818b330-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 64ms","method":"POST","requestID":"71bb1f68aab5462731a268792d101ad6","responseTime":64,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch","requestID":"71bb1f68aab5462731a268792d101ad6"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"40a22ec8-f5dd-4db4-b7d9-f92eeeec6f66","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.157176} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.862112,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","rebac_allow":false,"scope_allow":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":"f8207b60-f804-11ee-96ad-77028417699d"},"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/002c46e5-8257-4099-8d8e-4e4988da8215/signaling 200 15ms","method":"POST","requestID":"f8207b60-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"b8c03e44cdfa5ba9333e2f488b37db7e","responseTime":7,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9b53ab22-9311-400a-899a-2106afc635b7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.178493} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.56425,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","rebac_allow":false,"scope_allow":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":"f8236190-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.306397,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/96955f83-b730-4043-abaf-d59a67cce4af/signaling 200 17ms","method":"POST","requestID":"f8236190-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} 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":"b8c03e44cdfa5ba9333e2f488b37db7e"},"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/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8c03e44cdfa5ba9333e2f488b37db7e"} experiment_1 | {"level":"info","message":"GET /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d 200 21ms","method":"GET","requestID":"b8c03e44cdfa5ba9333e2f488b37db7e","responseTime":21,"status":200,"url":"/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad76df42d7c194f550b3c768dc0360f8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.514774,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} 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":"ad76df42d7c194f550b3c768dc0360f8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.709813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} 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":"f82bc600-f804-11ee-96ad-77028417699d"},"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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d0a1964-2255-42e6-b4bc-4bda3373bb0a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6d0a1964-2255-42e6-b4bc-4bda3373bb0a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"f79a6b8c-d328-4658-8747-11c7fdffea88","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.25369} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"425e6f02ad6821f3c2527f90c9b1bbeb","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6542235f-e9e9-4949-b63f-8f837c051af9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.254405} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/002c46e5-8257-4099-8d8e-4e4988da8215"},{"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/96955f83-b730-4043-abaf-d59a67cce4af"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"}}},"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":"f82bc600-f804-11ee-96ad-77028417699d"},"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 1ms","method":"GET","requestID":"a183560da68cd254e283c15f5cd947ed","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/002c46e5-8257-4099-8d8e-4e4988da8215"},{"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/96955f83-b730-4043-abaf-d59a67cce4af"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"6d0a1964-2255-42e6-b4bc-4bda3373bb0a","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/6d0a1964-2255-42e6-b4bc-4bda3373bb0a 204 70ms","method":"DELETE","requestID":"f82bc600-f804-11ee-96ad-77028417699d","responseTime":70,"status":204,"url":"/peerconnections/6d0a1964-2255-42e6-b4bc-4bda3373bb0a"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F002c46e5-8257-4099-8d8e-4e4988da8215","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a4495faf-653a-43c5-8037-6235234fe0c4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.3234577} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.218954,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215","object_type":"device","rebac_allow":false,"scope_allow":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":"f839cfc0-f804-11ee-96ad-77028417699d"},"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/002c46e5-8257-4099-8d8e-4e4988da8215/signaling 200 14ms","method":"POST","requestID":"f839cfc0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/002c46e5-8257-4099-8d8e-4e4988da8215/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"ee10e6bd-f2c0-469e-8390-58504a127acc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.3330953} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb9b42ca-dc3a-4fe9-b31c-9f2031e25ecd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.3334649} 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":"ad76df42d7c194f550b3c768dc0360f8"},"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:38658","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F96955f83-b730-4043-abaf-d59a67cce4af","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e0976b9-c266-401b-9d58-55f6ece77605","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.3415852} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.175127,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/96955f83-b730-4043-abaf-d59a67cce4af","object_type":"device","rebac_allow":false,"scope_allow":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":"f83c8ee0-f804-11ee-96ad-77028417699d"},"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/96955f83-b730-4043-abaf-d59a67cce4af/signaling 200 14ms","method":"POST","requestID":"f83c8ee0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/96955f83-b730-4043-abaf-d59a67cce4af/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad76df42d7c194f550b3c768dc0360f8"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2397","request_time":"3.280","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d888a85bd9229813cde57c4e0cfbb965"} experiment_1 | {"level":"info","message":"DELETE /experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d 204 194ms","method":"DELETE","requestID":"ad76df42d7c194f550b3c768dc0360f8","responseTime":194,"status":204,"url":"/experiments/1a8b9a80-0d4a-4ebc-9914-549d2fbb8d0d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"425e6f02ad6821f3c2527f90c9b1bbeb","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"425e6f02ad6821f3c2527f90c9b1bbeb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"a183560da68cd254e283c15f5cd947ed","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"a183560da68cd254e283c15f5cd947ed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9fea58e933b2c6e51b909a659826cb55","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2158","request_time":"1.791","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"62aabd717975e97348a00b32f0a4c8c5"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.920676,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/002c46e5-8257-4099-8d8e-4e4988da8215' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} 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":"9fea58e933b2c6e51b909a659826cb55"},"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/96955f83-b730-4043-abaf-d59a67cce4af' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b5e4572b-89d8-4ad3-ab59-095a62e80fd8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.430812} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fea58e933b2c6e51b909a659826cb55"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c391001-b4bb-41c6-ab19-247cfeaecdfc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.436386} 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":"9fea58e933b2c6e51b909a659826cb55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"adb68b77-dc4a-44b3-a892-e9f69cc924d9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4461553} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eef36b5a-43a6-4d8e-bb92-44130f38c7f1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4463348} 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":"9fea58e933b2c6e51b909a659826cb55"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.446125219Z"}]},"request_id":"d85065aa-4b1b-4283-82fe-eb466006aab6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4509308} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9fea58e933b2c6e51b909a659826cb55"},"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":"9fea58e933b2c6e51b909a659826cb55","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9fea58e933b2c6e51b909a659826cb55"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c6bf5cf0386a2f62162dfff903aeee24","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.735615,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} 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":"c6bf5cf0386a2f62162dfff903aeee24"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b3f5ecb1-0d14-4e82-a2bb-86bcc2abaa8d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.474935} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6bf5cf0386a2f62162dfff903aeee24"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9b094d8-68f7-4777-982d-3d326076deb0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4796088} 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":"c6bf5cf0386a2f62162dfff903aeee24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a9a96a23-a0ab-4fc3-8f7f-e55dcbcb7cf9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4921997} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab824a5b-5bb7-4daa-9a65-8a0cbe0509f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.492363} 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":"c6bf5cf0386a2f62162dfff903aeee24"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"7c7bf9aa-df57-43a1-a081-6c9d78385e82","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.4970014} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6bf5cf0386a2f62162dfff903aeee24"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 40ms","method":"POST","requestID":"c6bf5cf0386a2f62162dfff903aeee24","responseTime":40,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.067","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6bf5cf0386a2f62162dfff903aeee24"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"482c6a2e79081623ff6a61acec503811","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.091937,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:12Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841072,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3Mn0.1CuGjpKjjRT9-nGVoq1kqgeEZ-Qtzer4NiW0K8PlPy0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482c6a2e79081623ff6a61acec503811"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"adaa16df-3fe0-44f7-b917-43ff880ac025","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.9890037} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482c6a2e79081623ff6a61acec503811"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83653667-1cb0-4f8a-b85a-694607aea72a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841072.997198} 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":"482c6a2e79081623ff6a61acec503811"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"85317a90-2169-48ab-8717-8bac0d7b4957","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841073.0135047} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"482c6a2e79081623ff6a61acec503811"},"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1 200 43ms","method":"PATCH","requestID":"482c6a2e79081623ff6a61acec503811","responseTime":43,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1"} gateway_1 | {"time_local":"11/Apr/2024:13:11:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"482c6a2e79081623ff6a61acec503811"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3M30._YOCZ9xBHoupV859mNSdSEADCzIwxm2fo__30BYMHKM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3f32c13ec93ff650f95547ced5b5a43d","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:13Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.633954,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:13Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841073,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3M30._YOCZ9xBHoupV859mNSdSEADCzIwxm2fo__30BYMHKM"} 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":"3f32c13ec93ff650f95547ced5b5a43d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/websocket 200 24ms","method":"POST","requestID":"3f32c13ec93ff650f95547ced5b5a43d","responseTime":24,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3f32c13ec93ff650f95547ced5b5a43d"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1' 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":"cfe1fd686a71f6b2aed54d1c704dda03","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4abbfdac-288e-4f5f-9e16-690508f06d21/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":"cfe1fd686a71f6b2aed54d1c704dda03"} device_1 | {"level":"info","message":"OPTIONS /devices/4abbfdac-288e-4f5f-9e16-690508f06d21/websocket 200 2ms","method":"OPTIONS","requestID":"cfe1fd686a71f6b2aed54d1c704dda03","responseTime":2,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b4f52dbf18b9112ee0b1617957feb01b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.309859,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4f52dbf18b9112ee0b1617957feb01b"},"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":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4abbfdac-288e-4f5f-9e16-690508f06d21/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b4f52dbf18b9112ee0b1617957feb01b"} device_1 | {"level":"info","message":"POST /devices/4abbfdac-288e-4f5f-9e16-690508f06d21/websocket 200 36ms","method":"POST","requestID":"b4f52dbf18b9112ee0b1617957feb01b","responseTime":36,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"40f2dc7d5365834dc83d7289408ad0e8","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.700395,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} 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":"40f2dc7d5365834dc83d7289408ad0e8"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.446125219Z"}]},"request_id":"3b490871-b250-4373-a201-2934a794f11c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.6017606} 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":"40f2dc7d5365834dc83d7289408ad0e8"},"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":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4abbfdac-288e-4f5f-9e16-690508f06d21? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"40f2dc7d5365834dc83d7289408ad0e8"} device_1 | {"level":"info","message":"GET /devices/4abbfdac-288e-4f5f-9e16-690508f06d21? 200 23ms","method":"GET","requestID":"40f2dc7d5365834dc83d7289408ad0e8","responseTime":23,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3236e84f35cd068233331361e10b0b9c","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.326547,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3236e84f35cd068233331361e10b0b9c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"65a63f64-436d-4b17-83f1-9cb58df663b9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.6303983} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3236e84f35cd068233331361e10b0b9c"},"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":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3236e84f35cd068233331361e10b0b9c"} device_1 | {"level":"info","message":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? 200 18ms","method":"GET","requestID":"3236e84f35cd068233331361e10b0b9c","responseTime":18,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b8ec288624b03d62facff58049955b2b","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:38658","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.449059,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} 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":"b8ec288624b03d62facff58049955b2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"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:38658","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.328784,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9a56db0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159413,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} 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":"f9a5e2e0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.446125219Z"}]},"request_id":"ac0d5f63-d222-469c-88e2-5091072892a8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.7130039} 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":"f9a56db0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"2d28e98f-736d-4c55-a9ab-2bce38068bb8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.7149491} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4abbfdac-288e-4f5f-9e16-690508f06d21? 200 22ms","method":"GET","requestID":"f9a56db0-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9a5e2e0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? 200 27ms","method":"GET","requestID":"f9a5e2e0-f804-11ee-96ad-77028417699d","responseTime":27,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"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/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.710151,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9b39e80-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722822,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9b3eca0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0c06fd7-5b51-4119-9767-7e9997b675bf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8024259} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.663024,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","rebac_allow":false,"scope_allow":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":"f9b43ac0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.446125219Z"}]},"request_id":"b1fe278b-8b47-4286-8231-772cf80aba54","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8048592} 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":"f9b39e80-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"90fc7d35-110f-4839-a733-abea28dd7846","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8075197} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9b3eca0-f804-11ee-96ad-77028417699d"},"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/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling 200 15ms","method":"POST","requestID":"f9b43ac0-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6f0f87f0-8e17-4c04-803c-1ea5e1c0619f#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"c5936df9-ca30-4451-a2f2-9789bff68e33","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8134537} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c5b23b0-9cbc-4ef5-bf67-037c135e2f99","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8136404} 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":"b8ec288624b03d62facff58049955b2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":14}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} device_1 | {"level":"info","message":"GET /devices/4abbfdac-288e-4f5f-9e16-690508f06d21? 200 25ms","method":"GET","requestID":"f9b39e80-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? 200 24ms","method":"GET","requestID":"f9b3eca0-f804-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a93e43f0-61b0-44c2-9350-5915cdc43cca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8189468} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.986153,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9b6f9e0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling 200 12ms","method":"POST","requestID":"f9b6f9e0-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 179ms","method":"POST","requestID":"b8ec288624b03d62facff58049955b2b","responseTime":179,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8ec288624b03d62facff58049955b2b"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"669cd1a1-eeeb-41b8-ac0c-b818253eba15","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8280568} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.654476,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","rebac_allow":false,"scope_allow":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":"f9b85970-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a782b2b118a1500ae29ea3a9abe5d5ba","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/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling 200 10ms","method":"POST","requestID":"f9b85970-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200652,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a782b2b118a1500ae29ea3a9abe5d5ba"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"373cd8df-bb4e-4282-8621-8b1438b577f2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8401823} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.446125219Z"}]},"request_id":"d4f916a9-7518-4424-b7ea-e8b74f5655a3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8404243} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a782b2b118a1500ae29ea3a9abe5d5ba"},"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:38658","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.622244,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9ba5540-f804-11ee-96ad-77028417699d"},"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/4abbfdac-288e-4f5f-9e16-690508f06d21? 200 14ms","method":"GET","requestID":"a782b2b118a1500ae29ea3a9abe5d5ba","responseTime":14,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4abbfdac-288e-4f5f-9e16-690508f06d21? 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":"a782b2b118a1500ae29ea3a9abe5d5ba"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling 200 11ms","method":"POST","requestID":"f9ba5540-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"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":"ef85236e-2ae6-43fd-98c7-a9a6e43d13be"},{"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":"c9c9d4df-e0d1-4676-80b3-8a86795b9897"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8e8c6b61-b7e3-4e87-b5c3-32ddb6bc9328"}]},"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/4abbfdac-288e-4f5f-9e16-690508f06d21"},{"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d83f02ac5c4558661f939d7a7e2a1237","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.620479,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} 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":"f9bc7820-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850575,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841074,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NH0.HZLUZuKVd4VTIXfWtYNF9bIASZfO4xJOHfp5JAoA6oE"} 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":"d83f02ac5c4558661f939d7a7e2a1237"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:12.492174224Z"}]},"request_id":"24cedba9-9015-49cc-a5a2-4ee47274d265","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.85908} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d83f02ac5c4558661f939d7a7e2a1237"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"e3915111-5689-4e49-9cb5-cc65f265c863","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.8633826} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f674a174-82cd-47fc-8ab1-eff35d177aaa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.863644} gateway_1 | {"time_local":"11/Apr/2024:13:11:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d83f02ac5c4558661f939d7a7e2a1237"} device_1 | {"level":"info","message":"GET /devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1? 200 13ms","method":"GET","requestID":"d83f02ac5c4558661f939d7a7e2a1237","responseTime":13,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1?"} 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":"f9bc7820-f804-11ee-96ad-77028417699d"},"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/34d91f65-26ec-4f34-a6bf-6634c63bb5d3'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 36ms","method":"POST","requestID":"f9bc7820-f804-11ee-96ad-77028417699d","responseTime":36,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2503429f-7357-4760-8edb-80154a69926b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.924144} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.780646,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"34c922773de32406d50661230142a592","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","rebac_allow":false,"scope_allow":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":"f9c6ff70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21"},{"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"34c922773de32406d50661230142a592","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"34c922773de32406d50661230142a592"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling 200 20ms","method":"POST","requestID":"f9c6ff70-f804-11ee-96ad-77028417699d","responseTime":20,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9842905b-ff43-466f-a364-e9f385fc16ac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.9462614} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605392,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9ca5ad0-f804-11ee-96ad-77028417699d"},"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling 200 13ms","method":"POST","requestID":"f9ca5ad0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","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/34d91f65-26ec-4f34-a6bf-6634c63bb5d3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","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":"e2bd5a2a000dee87ace29fdef64c0bd2","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/4abbfdac-288e-4f5f-9e16-690508f06d21"},{"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F34d91f65-26ec-4f34-a6bf-6634c63bb5d3","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60d3f0e9-5046-4d89-a5c8-2f5467eb855d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841074.9896505} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.082365,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:14Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3","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":"f9d11190-f804-11ee-96ad-77028417699d"},"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/34d91f65-26ec-4f34-a6bf-6634c63bb5d3 200 8ms","method":"GET","requestID":"f9d11190-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 30ms","method":"POST","requestID":"e2bd5a2a000dee87ace29fdef64c0bd2","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2bd5a2a000dee87ace29fdef64c0bd2"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11a63742-79ea-4ca2-b013-3cc2db9dfbc0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.015352} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.282808,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","rebac_allow":false,"scope_allow":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":"f9d50930-f804-11ee-96ad-77028417699d"},"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/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling 200 9ms","method":"POST","requestID":"f9d50930-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28ba632d-cf5f-42ec-b4d8-7044d6b89cad","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.0264976} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448548,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9d6b6e0-f804-11ee-96ad-77028417699d"},"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling 200 8ms","method":"POST","requestID":"f9d6b6e0-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"264dc805d85d5546bc2e5579c62518de","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.110798,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"264dc805d85d5546bc2e5579c62518de"},"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/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} experiment_1 | {"level":"info","message":"GET /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f 200 18ms","method":"GET","requestID":"264dc805d85d5546bc2e5579c62518de","responseTime":18,"status":200,"url":"/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"264dc805d85d5546bc2e5579c62518de"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"addacdce3d9f79e23f17f082aa49381d","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.091587,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"addacdce3d9f79e23f17f082aa49381d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.146411,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"f9e64740-f804-11ee-96ad-77028417699d"},"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/34d91f65-26ec-4f34-a6bf-6634c63bb5d3' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F34d91f65-26ec-4f34-a6bf-6634c63bb5d3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F34d91f65-26ec-4f34-a6bf-6634c63bb5d3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"64c641a4-4ee8-437e-ac9b-3d30f177477b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.1486106} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b5d27e4f920e8126955ca9a238e5933","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ec4a8d1-e417-47a1-bad1-f1e35306670f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.1490316} 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/4abbfdac-288e-4f5f-9e16-690508f06d21"},{"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cfaeb6c4a24d0aa0114ac374226b5217","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":"f9e64740-f804-11ee-96ad-77028417699d"},"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":[{"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/4abbfdac-288e-4f5f-9e16-690508f06d21"},{"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"34d91f65-26ec-4f34-a6bf-6634c63bb5d3","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/34d91f65-26ec-4f34-a6bf-6634c63bb5d3 204 49ms","method":"DELETE","requestID":"f9e64740-f804-11ee-96ad-77028417699d","responseTime":49,"status":204,"url":"/peerconnections/34d91f65-26ec-4f34-a6bf-6634c63bb5d3"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4abbfdac-288e-4f5f-9e16-690508f06d21","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7af735c-0a37-4fb0-9743-bd597750fa74","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.1953318} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.328418,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4abbfdac-288e-4f5f-9e16-690508f06d21","object_type":"device","rebac_allow":false,"scope_allow":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":"f9f05960-f804-11ee-96ad-77028417699d"},"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/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling 200 12ms","method":"POST","requestID":"f9f05960-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/4abbfdac-288e-4f5f-9e16-690508f06d21/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6f0f87f0-8e17-4c04-803c-1ea5e1c0619f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6f0f87f0-8e17-4c04-803c-1ea5e1c0619f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"4e1061e3-7412-4fc3-8477-23cd369560f7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.2063584} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc119afe-0c55-4c7f-880a-e5b4e1d5369b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.2065227} 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":"addacdce3d9f79e23f17f082aa49381d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa677f9b3-b212-42cc-9eca-a451be9fe2a1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2fa8256-d4c7-4ad9-876f-823055372028","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.209491} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.269547,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1","object_type":"device","rebac_allow":false,"scope_allow":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":"f9f27c40-f804-11ee-96ad-77028417699d"},"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/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling 200 11ms","method":"POST","requestID":"f9f27c40-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"addacdce3d9f79e23f17f082aa49381d"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2079","request_time":"2.206","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"0a2e93ed9163340a3596f1ff3a6281a9"} experiment_1 | {"level":"info","message":"DELETE /experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f 204 150ms","method":"DELETE","requestID":"addacdce3d9f79e23f17f082aa49381d","responseTime":150,"status":204,"url":"/experiments/6f0f87f0-8e17-4c04-803c-1ea5e1c0619f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 111ms","method":"POST","requestID":"7b5d27e4f920e8126955ca9a238e5933","responseTime":111,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.115","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b5d27e4f920e8126955ca9a238e5933"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d638e45a26ab010b11bd2481d6a3b65a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.709","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f24206ebbe3002fd4b28ca8a03d953ef"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.121","http_referrer":"","http_user_agent":"node-fetch","requestID":"cfaeb6c4a24d0aa0114ac374226b5217"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a677f9b3-b212-42cc-9eca-a451be9fe2a1' closed"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 116ms","method":"POST","requestID":"cfaeb6c4a24d0aa0114ac374226b5217","responseTime":116,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.022781,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"d638e45a26ab010b11bd2481d6a3b65a"},"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/4abbfdac-288e-4f5f-9e16-690508f06d21' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0cd7f110-89b1-4bfe-8d32-37ebcca0aa6b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.2886171} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d638e45a26ab010b11bd2481d6a3b65a"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bd1d0728-25b4-4180-8a0e-18d5071805fe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.2951653} 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":"d638e45a26ab010b11bd2481d6a3b65a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"8201c44e-237a-43be-92b7-8a8cc7b7208c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3074124} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"866d3f61-138b-441c-973b-9b73c1e22f10","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3076987} 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":"d638e45a26ab010b11bd2481d6a3b65a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"88deee4a-b254-444d-b839-7bfbff4b82c1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3133252} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d638e45a26ab010b11bd2481d6a3b65a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 51ms","method":"POST","requestID":"d638e45a26ab010b11bd2481d6a3b65a","responseTime":51,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d638e45a26ab010b11bd2481d6a3b65a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ff01cc655eb082c3a8d44ba00a593b95","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873664,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"ff01cc655eb082c3a8d44ba00a593b95"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7d73d279-b0c5-4f1c-bac1-ac5f80201025","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3393939} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff01cc655eb082c3a8d44ba00a593b95"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5b9a42d1-e5d3-4009-953e-e816e83fae19","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3443186} 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":"ff01cc655eb082c3a8d44ba00a593b95"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"5c1e3556-69e6-4c40-868b-57e892d6475d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3535657} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2de0bacd-bef2-4dc1-9597-f979ffb05f84","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3539484} 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":"ff01cc655eb082c3a8d44ba00a593b95"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.353543048Z"}]},"request_id":"3e1759d5-034e-4226-bcfc-8c83b0300411","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.3590674} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff01cc655eb082c3a8d44ba00a593b95"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 38ms","method":"POST","requestID":"ff01cc655eb082c3a8d44ba00a593b95","responseTime":38,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff01cc655eb082c3a8d44ba00a593b95"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"68854da53ea40a7eb8cd99b4bc9691d5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.194893,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68854da53ea40a7eb8cd99b4bc9691d5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"f0338704-bc4d-4c57-b99b-a23241345fb1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.83891} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68854da53ea40a7eb8cd99b4bc9691d5"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4867ace-8605-44d9-b0d1-3b0a41639672","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.8466465} 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":"68854da53ea40a7eb8cd99b4bc9691d5"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"207774cb-8c61-40a8-9bfb-b7cfebab5b58","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841075.8724823} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68854da53ea40a7eb8cd99b4bc9691d5"},"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/16141004-885b-4713-b834-bd733722d01d 200 52ms","method":"PATCH","requestID":"68854da53ea40a7eb8cd99b4bc9691d5","responseTime":52,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d"} gateway_1 | {"time_local":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/16141004-885b-4713-b834-bd733722d01d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.059","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"68854da53ea40a7eb8cd99b4bc9691d5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2f612ef2f1c21a2d63e9d3c3c0923eba","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159713,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:15Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841075,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3NX0.o-M7qhsqOrRHulcqhX7rEEQgKcMsh1DEtrjWQcNFa8Q"} 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":"2f612ef2f1c21a2d63e9d3c3c0923eba"},"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":"11/Apr/2024:13:11:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/16141004-885b-4713-b834-bd733722d01d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.030","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f612ef2f1c21a2d63e9d3c3c0923eba"} device_1 | {"level":"info","message":"POST /devices/16141004-885b-4713-b834-bd733722d01d/websocket 200 24ms","method":"POST","requestID":"2f612ef2f1c21a2d63e9d3c3c0923eba","responseTime":24,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/16141004-885b-4713-b834-bd733722d01d' 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":"67bd2f84218709838ca0ec22ba0687a0","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2b325b5d-0865-490b-b628-872ae25b9d0c/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":"67bd2f84218709838ca0ec22ba0687a0"} device_1 | {"level":"info","message":"OPTIONS /devices/2b325b5d-0865-490b-b628-872ae25b9d0c/websocket 200 1ms","method":"OPTIONS","requestID":"67bd2f84218709838ca0ec22ba0687a0","responseTime":1,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cd5d46f4d1b06920bc0eda94a939c13a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.300779,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cd5d46f4d1b06920bc0eda94a939c13a"},"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/2b325b5d-0865-490b-b628-872ae25b9d0c/websocket 200 32ms","method":"POST","requestID":"cd5d46f4d1b06920bc0eda94a939c13a","responseTime":32,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2b325b5d-0865-490b-b628-872ae25b9d0c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.040","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cd5d46f4d1b06920bc0eda94a939c13a"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8fc4c60756d2a841bb2e1d8390def543","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.320477,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc4c60756d2a841bb2e1d8390def543"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"650c8dda-040f-40dd-8202-6472f685c6c6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.457443} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8fc4c60756d2a841bb2e1d8390def543"},"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":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/16141004-885b-4713-b834-bd733722d01d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8fc4c60756d2a841bb2e1d8390def543"} device_1 | {"level":"info","message":"GET /devices/16141004-885b-4713-b834-bd733722d01d? 200 22ms","method":"GET","requestID":"8fc4c60756d2a841bb2e1d8390def543","responseTime":22,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4bfa539d12fa0695f362132aa7c06bd2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.438178,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bfa539d12fa0695f362132aa7c06bd2"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.353543048Z"}]},"request_id":"0e99bb84-6288-46c4-8b21-a79d75b8a802","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.4878426} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bfa539d12fa0695f362132aa7c06bd2"},"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":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 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":"4bfa539d12fa0695f362132aa7c06bd2"} device_1 | {"level":"info","message":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 200 22ms","method":"GET","requestID":"4bfa539d12fa0695f362132aa7c06bd2","responseTime":22,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00c78c54d96ec7dac1c8c46ba3e37a9f","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:38658","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.173824,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"00c78c54d96ec7dac1c8c46ba3e37a9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"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:38658","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.182119,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb595f40-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.30202,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"fb59ad60-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"57079044-d98d-47c9-9991-9968bb3692e8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.5703564} 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":"fb595f40-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.353543048Z"}]},"request_id":"79ff24a1-56eb-4bc5-b46f-ecb6e7f6d94d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.5745552} 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":"fb59ad60-f804-11ee-96ad-77028417699d"},"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/16141004-885b-4713-b834-bd733722d01d? 200 25ms","method":"GET","requestID":"fb595f40-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 200 25ms","method":"GET","requestID":"fb59ad60-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"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:38658","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.717505,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"fb65bb50-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789921,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"fb660970-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d328a5b7-8f19-40fa-b91d-ed56f0e7d9de","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.6501682} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.205354,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb667ea0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"bc3e7a43-0479-4d4b-9073-fa07e36eb7ed","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.6533022} 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":"fb65bb50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.353543048Z"}]},"request_id":"189d3520-9d64-46a8-a5d2-c6281609c1f1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.657077} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fb660970-f804-11ee-96ad-77028417699d"},"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/16141004-885b-4713-b834-bd733722d01d/signaling 200 19ms","method":"POST","requestID":"fb667ea0-f804-11ee-96ad-77028417699d","responseTime":19,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81806ccd-1c2b-451c-bab4-7e9f0d101766#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81806ccd-1c2b-451c-bab4-7e9f0d101766","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"1b5d1fd3-b247-408d-b7c3-18de1abde351","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.666288} device_1 | {"level":"info","message":"GET /devices/16141004-885b-4713-b834-bd733722d01d? 200 31ms","method":"GET","requestID":"fb65bb50-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d?"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"683869cd-da7d-410c-a20a-0cfce579c338","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.6665967} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 200 30ms","method":"GET","requestID":"fb660970-f804-11ee-96ad-77028417699d","responseTime":30,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c?"} 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":"00c78c54d96ec7dac1c8c46ba3e37a9f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7ebdc429-a49b-47e4-bb85-4ee7801587ba","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.6700788} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.328623,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","rebac_allow":false,"scope_allow":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":"fb69da00-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fc75059a-4c00-4328-98ac-2167809b6a4f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.678525} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.192304,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} experiment_1 | {"data":{"experiment":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling 200 17ms","method":"POST","requestID":"fb69da00-f804-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling"} experiment_1 | {"level":"info","message":"POST /experiments? 201 176ms","method":"POST","requestID":"00c78c54d96ec7dac1c8c46ba3e37a9f","responseTime":176,"status":201,"url":"/experiments?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb6b1280-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} gateway_1 | {"time_local":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00c78c54d96ec7dac1c8c46ba3e37a9f"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/16141004-885b-4713-b834-bd733722d01d/signaling 200 12ms","method":"POST","requestID":"fb6b1280-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d9bcd425db38267666ae907f51799b1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720913,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"5d9bcd425db38267666ae907f51799b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9144cd03-16e2-406b-a583-093105a9185c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.692371} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.070829,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","rebac_allow":false,"scope_allow":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":"fb6d5c70-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.307383450Z"}]},"request_id":"ff80e88d-f3f1-4ed6-b28b-bf36e1f5725f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.699797} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling 200 13ms","method":"POST","requestID":"fb6d5c70-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/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":"5d9bcd425db38267666ae907f51799b1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"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":"8ceede01-6c9c-4c8d-bd09-df6bf2a41280"},{"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":"ed3190c8-d127-4b06-8803-155b10b1d68d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a7f8f3e9-823d-4799-a82c-ba8084d82bce"}]},"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/16141004-885b-4713-b834-bd733722d01d"},{"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/2b325b5d-0865-490b-b628-872ae25b9d0c"}],"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":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/16141004-885b-4713-b834-bd733722d01d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5d9bcd425db38267666ae907f51799b1"} device_1 | {"level":"info","message":"GET /devices/16141004-885b-4713-b834-bd733722d01d? 200 15ms","method":"GET","requestID":"5d9bcd425db38267666ae907f51799b1","responseTime":15,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.022998,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU","level":"info","message":"auth send jwt"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"1fb0104492b0d2f13a28853bd24789ff","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"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":"fb6fcd70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.809109,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841077,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3N30.IAM_Lad7WZCwdnbNF9XMDIakwjeQoVuicSusIVeF6lU"} 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":"1fb0104492b0d2f13a28853bd24789ff"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:15.353543048Z"}]},"request_id":"48647aea-7f8b-4f2b-9a19-a599ef6230bf","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.7193558} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fb0104492b0d2f13a28853bd24789ff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"69d54609-c181-4516-8723-d7e4d1d40d6a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.7201347} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"257b0fe5-a16a-43bf-bddb-a17ec85c5501","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.720466} 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":"fb6fcd70-f804-11ee-96ad-77028417699d"},"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":"11/Apr/2024:13:11:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 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":"1fb0104492b0d2f13a28853bd24789ff"} device_1 | {"level":"info","message":"GET /devices/2b325b5d-0865-490b-b628-872ae25b9d0c? 200 13ms","method":"GET","requestID":"1fb0104492b0d2f13a28853bd24789ff","responseTime":13,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c?"} 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/3cadc0d1-6662-4740-84ca-d90f473df173'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173'"} 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":"fb6fcd70-f804-11ee-96ad-77028417699d","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/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"538df73e-662a-479e-adc7-972e8c6cca67","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.7863045} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.66843,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","rebac_allow":false,"scope_allow":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":"fb7bdb60-f804-11ee-96ad-77028417699d"},"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/16141004-885b-4713-b834-bd733722d01d/signaling 200 9ms","method":"POST","requestID":"fb7bdb60-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"94f741ef-f54b-446b-8e2c-e32d39bb0c5c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841077.7968006} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.348422,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:17Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","rebac_allow":false,"scope_allow":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":"fb7d6200-f804-11ee-96ad-77028417699d"},"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/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling 200 9ms","method":"POST","requestID":"fb7d6200-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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/3cadc0d1-6662-4740-84ca-d90f473df173' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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":"1090937cf93f87f1f44b29c3606f3a4e","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/16141004-885b-4713-b834-bd733722d01d"},{"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/2b325b5d-0865-490b-b628-872ae25b9d0c"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"1090937cf93f87f1f44b29c3606f3a4e","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"1090937cf93f87f1f44b29c3606f3a4e"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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/3cadc0d1-6662-4740-84ca-d90f473df173' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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":"39b4024189f29c5cd650c85241685266","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/16141004-885b-4713-b834-bd733722d01d"},{"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/2b325b5d-0865-490b-b628-872ae25b9d0c"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cadc0d1-6662-4740-84ca-d90f473df173","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7d7184d-54d2-4d4f-aba6-387e1a7c7a2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841078.8835135} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.671934,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173","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":"fc22f0d0-f804-11ee-96ad-77028417699d"},"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/3cadc0d1-6662-4740-84ca-d90f473df173 200 13ms","method":"GET","requestID":"fc22f0d0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"39b4024189f29c5cd650c85241685266","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch","requestID":"39b4024189f29c5cd650c85241685266"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27aa9b2f-8673-4516-9bf3-ddfa72ecf279","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841078.9211287} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.703738,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","rebac_allow":false,"scope_allow":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":"fc286f10-f804-11ee-96ad-77028417699d"},"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/16141004-885b-4713-b834-bd733722d01d/signaling 200 16ms","method":"POST","requestID":"fc286f10-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c6e8d203-1a72-4393-a0c7-ebf085af69fa","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841078.9408643} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.797721,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","rebac_allow":false,"scope_allow":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":"fc2b7c50-f804-11ee-96ad-77028417699d"},"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/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling 200 15ms","method":"POST","requestID":"fc2b7c50-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OH0.5fDt7XHM8HHOhrskkR0Ps5P-LdLMEI18OPfdAVPa3-c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"92167c8f7b71487f3a8c364204d1aea3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.660963,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841078,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OH0.5fDt7XHM8HHOhrskkR0Ps5P-LdLMEI18OPfdAVPa3-c"} 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":"92167c8f7b71487f3a8c364204d1aea3"},"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/81806ccd-1c2b-451c-bab4-7e9f0d101766"} experiment_1 | {"level":"info","message":"GET /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766 200 19ms","method":"GET","requestID":"92167c8f7b71487f3a8c364204d1aea3","responseTime":19,"status":200,"url":"/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"} gateway_1 | {"time_local":"11/Apr/2024:13:11:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92167c8f7b71487f3a8c364204d1aea3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OH0.5fDt7XHM8HHOhrskkR0Ps5P-LdLMEI18OPfdAVPa3-c","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cf109c65b035691e018666639d4a2311","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.291159,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:18Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841078,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OH0.5fDt7XHM8HHOhrskkR0Ps5P-LdLMEI18OPfdAVPa3-c"} 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":"cf109c65b035691e018666639d4a2311"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.266284,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841078,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OH0.5fDt7XHM8HHOhrskkR0Ps5P-LdLMEI18OPfdAVPa3-c"} 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":"fc36c6f0-f804-11ee-96ad-77028417699d"},"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/3cadc0d1-6662-4740-84ca-d90f473df173' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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":"17eb1f4e1cf7ad0ad0f791586f42d590","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cadc0d1-6662-4740-84ca-d90f473df173': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3cadc0d1-6662-4740-84ca-d90f473df173","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"7f4490f1-1908-492c-86bd-311c2427f129","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.0348032} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"807068a2-188d-4add-8d6f-fdfa124817b9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.0352726} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"03bdc7edd41384ba5d07dfa9666b8b2c","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":"closed","url":"http://localhost/devices/16141004-885b-4713-b834-bd733722d01d"},{"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/2b325b5d-0865-490b-b628-872ae25b9d0c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc36c6f0-f804-11ee-96ad-77028417699d"},"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","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/16141004-885b-4713-b834-bd733722d01d"},{"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/2b325b5d-0865-490b-b628-872ae25b9d0c"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"3cadc0d1-6662-4740-84ca-d90f473df173","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/3cadc0d1-6662-4740-84ca-d90f473df173 204 60ms","method":"DELETE","requestID":"fc36c6f0-f804-11ee-96ad-77028417699d","responseTime":60,"status":204,"url":"/peerconnections/3cadc0d1-6662-4740-84ca-d90f473df173"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F16141004-885b-4713-b834-bd733722d01d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"793cbb92-abb5-455c-a92e-0c1d592cf23f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.100543} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.730007,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/16141004-885b-4713-b834-bd733722d01d","object_type":"device","rebac_allow":false,"scope_allow":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":"fc43bf40-f804-11ee-96ad-77028417699d"},"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/16141004-885b-4713-b834-bd733722d01d/signaling 200 15ms","method":"POST","requestID":"fc43bf40-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/16141004-885b-4713-b834-bd733722d01d/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81806ccd-1c2b-451c-bab4-7e9f0d101766': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F81806ccd-1c2b-451c-bab4-7e9f0d101766","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"dc11031f-5088-446f-a919-34142c05dc2e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.1100469} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9449c00-3206-4b99-a57d-7202f58e4c0b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.1105568} 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":"cf109c65b035691e018666639d4a2311"},"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:38658","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2b325b5d-0865-490b-b628-872ae25b9d0c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"11ad2c89-2a4c-4b71-add9-db4e16526a08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.1171293} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.553083,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c","object_type":"device","rebac_allow":false,"scope_allow":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":"fc467e60-f804-11ee-96ad-77028417699d"},"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/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling 200 13ms","method":"POST","requestID":"fc467e60-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/2b325b5d-0865-490b-b628-872ae25b9d0c/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.188","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf109c65b035691e018666639d4a2311"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2399","request_time":"3.264","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d47135b84fbaa0e709101e53b9b1fea6"} experiment_1 | {"level":"info","message":"DELETE /experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766 204 184ms","method":"DELETE","requestID":"cf109c65b035691e018666639d4a2311","responseTime":184,"status":204,"url":"/experiments/81806ccd-1c2b-451c-bab4-7e9f0d101766"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"17eb1f4e1cf7ad0ad0f791586f42d590","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"17eb1f4e1cf7ad0ad0f791586f42d590"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0d77b47c129f42de9f94940dcc36cdb2","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 145ms","method":"POST","requestID":"03bdc7edd41384ba5d07dfa9666b8b2c","responseTime":145,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.153","http_referrer":"","http_user_agent":"node-fetch","requestID":"03bdc7edd41384ba5d07dfa9666b8b2c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.003783,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841079,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ"} 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":"0d77b47c129f42de9f94940dcc36cdb2"},"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/16141004-885b-4713-b834-bd733722d01d' closed"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2156","request_time":"1.769","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3cc9136889a7e7e71782f7cea8c1630e"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2b325b5d-0865-490b-b628-872ae25b9d0c' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2773d07-907d-4b85-8e61-2aac6d82c39d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.2051003} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d77b47c129f42de9f94940dcc36cdb2"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2706efae-ea42-40db-9bb3-254e87db65c8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.212062} 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":"0d77b47c129f42de9f94940dcc36cdb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3125e33b-5eff-4b79-9524-1ea045aa7bf5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.2201464} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c29c4982-1f49-43ae-92ad-5393d0c49723","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.22029} 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":"0d77b47c129f42de9f94940dcc36cdb2"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"34f250d7-d33a-4ae3-9609-bf7eb0d7dd6a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.2251883} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d77b47c129f42de9f94940dcc36cdb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 47ms","method":"POST","requestID":"0d77b47c129f42de9f94940dcc36cdb2","responseTime":47,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0d77b47c129f42de9f94940dcc36cdb2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"647ff0532ca9987e1619f1654d2b0eb7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.028994,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841079,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ"} 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":"647ff0532ca9987e1619f1654d2b0eb7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25f0bb75-0bed-422c-8228-4c5a9c9d9cae","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.2510781} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"647ff0532ca9987e1619f1654d2b0eb7"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9eddb5f-1d81-402c-b38d-292d82cb0c24","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.255613} 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":"647ff0532ca9987e1619f1654d2b0eb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"8a29a479-2c7c-4c8c-a6fe-1da8454a718e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.263779} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db7642fb-c87a-4c03-a41b-ac28176345de","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.26397} 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":"647ff0532ca9987e1619f1654d2b0eb7"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.263736930Z"}]},"request_id":"0ac0370f-595a-49d6-913f-f2fa179db82a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.2682166} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"647ff0532ca9987e1619f1654d2b0eb7"},"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":"647ff0532ca9987e1619f1654d2b0eb7","responseTime":36,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"647ff0532ca9987e1619f1654d2b0eb7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b815b79cf7ca1fb6f6012fd3116fe48b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.098986,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841079,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b815b79cf7ca1fb6f6012fd3116fe48b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"7bc02a6a-1149-45af-8f19-7ecde180d1c3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.746655} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b815b79cf7ca1fb6f6012fd3116fe48b"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d2138f6-c042-478b-b6b9-415a19d884dc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.7513928} 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":"b815b79cf7ca1fb6f6012fd3116fe48b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"86deaee2-680b-412e-8fcc-2807f6a466a7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841079.7692347} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b815b79cf7ca1fb6f6012fd3116fe48b"},"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":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/74de28ae-6897-4397-bf10-3bf59906792e HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.043","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b815b79cf7ca1fb6f6012fd3116fe48b"} device_1 | {"level":"info","message":"PATCH /devices/74de28ae-6897-4397-bf10-3bf59906792e 200 37ms","method":"PATCH","requestID":"b815b79cf7ca1fb6f6012fd3116fe48b","responseTime":37,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"37b1cc644f15fb486e911307d28a8f79","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.200946,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:19Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841079,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA3OX0.wRjuVf8oSdkkwc1CQQ98sjygIPg5UxaVM0yxrDrSJXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"37b1cc644f15fb486e911307d28a8f79"},"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/74de28ae-6897-4397-bf10-3bf59906792e/websocket 200 19ms","method":"POST","requestID":"37b1cc644f15fb486e911307d28a8f79","responseTime":19,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/74de28ae-6897-4397-bf10-3bf59906792e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.024","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"37b1cc644f15fb486e911307d28a8f79"} device_1 | {"level":"info","message":"device 'http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e' 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":"7c4e168ccbc5f9c868de1d738a6d09ac","responseTime":1,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/9697dcbc-91d2-4360-829f-7591b31089da/websocket 200 1ms","method":"OPTIONS","requestID":"7c4e168ccbc5f9c868de1d738a6d09ac","responseTime":1,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9697dcbc-91d2-4360-829f-7591b31089da/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":"7c4e168ccbc5f9c868de1d738a6d09ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"77c0a964a544b769dc18299103841bfc","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.157936,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"77c0a964a544b769dc18299103841bfc"},"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":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9697dcbc-91d2-4360-829f-7591b31089da/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"77c0a964a544b769dc18299103841bfc"} device_1 | {"level":"info","message":"POST /devices/9697dcbc-91d2-4360-829f-7591b31089da/websocket 200 36ms","method":"POST","requestID":"77c0a964a544b769dc18299103841bfc","responseTime":36,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9f6a5be4441e00e57280b4b3454fc47","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882811,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9f6a5be4441e00e57280b4b3454fc47"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"7c32cc13-c670-42f8-abb8-05047ee5ce34","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.3745131} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9f6a5be4441e00e57280b4b3454fc47"},"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":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74de28ae-6897-4397-bf10-3bf59906792e? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9f6a5be4441e00e57280b4b3454fc47"} device_1 | {"level":"info","message":"GET /devices/74de28ae-6897-4397-bf10-3bf59906792e? 200 20ms","method":"GET","requestID":"c9f6a5be4441e00e57280b4b3454fc47","responseTime":20,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"2c4db3173c35ffeed4b521fb11c5c355","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277221,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4db3173c35ffeed4b521fb11c5c355"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.263736930Z"}]},"request_id":"9e589bf1-d7b8-4ac8-974f-72b5f23e9243","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.4035134} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c4db3173c35ffeed4b521fb11c5c355"},"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":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9697dcbc-91d2-4360-829f-7591b31089da? 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":"2c4db3173c35ffeed4b521fb11c5c355"} device_1 | {"level":"info","message":"GET /devices/9697dcbc-91d2-4360-829f-7591b31089da? 200 18ms","method":"GET","requestID":"2c4db3173c35ffeed4b521fb11c5c355","responseTime":18,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7b87704b17d92e28c50be444e2426ba7","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:38658","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.123162,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"7b87704b17d92e28c50be444e2426ba7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"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:38658","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.764503,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdaf8440-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201351,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"fdafab50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"f98d5694-27ed-4b95-9174-ba8f7d9a3f9e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.486328} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdaf8440-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.263736930Z"}]},"request_id":"8b08d179-4c12-4c21-9c71-bb0d02a79ae4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.4883175} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdafab50-f804-11ee-96ad-77028417699d"},"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/74de28ae-6897-4397-bf10-3bf59906792e? 200 16ms","method":"GET","requestID":"fdaf8440-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9697dcbc-91d2-4360-829f-7591b31089da? 200 16ms","method":"GET","requestID":"fdafab50-f804-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"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/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.400832,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"fdba0b90-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.307031,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"fdba59b0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"83aa2354-61aa-4818-b142-70bc832e012f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5630798} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.263736930Z"}]},"request_id":"2e008210-305c-489b-87d9-62397d65c257","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.564596} 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":"fdba0b90-f804-11ee-96ad-77028417699d"},"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:56358","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} 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":"fdba59b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3c25ca7-52ce-4ae2-bfa4-8a948321ce15","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.568646} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.564719,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} device_1 | {"level":"info","message":"GET /devices/74de28ae-6897-4397-bf10-3bf59906792e? 200 26ms","method":"GET","requestID":"fdba0b90-f804-11ee-96ad-77028417699d","responseTime":26,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","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/9697dcbc-91d2-4360-829f-7591b31089da? 200 25ms","method":"GET","requestID":"fdba59b0-f804-11ee-96ad-77028417699d","responseTime":25,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da?"} 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":"fdbaa7d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":20}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe17f464d-b729-4c8a-9a91-02f72caa8840#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe17f464d-b729-4c8a-9a91-02f72caa8840","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"b9abb175-5561-4542-bb02-e03b89f88a7b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5716298} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33011e88-2fc4-47a7-91c8-c618cffc0638","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5719774} authorization_1 | {"level":"info","message":"POST /relations/update 200 17ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7b87704b17d92e28c50be444e2426ba7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":17}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling 200 29ms","method":"POST","requestID":"fdbaa7d0-f804-11ee-96ad-77028417699d","responseTime":29,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f01392ef-de0f-434b-9b9e-6357d215d64c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5819268} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.705629,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","rebac_allow":false,"scope_allow":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":"fdbe9f70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} experiment_1 | {"level":"info","message":"POST /experiments? 201 165ms","method":"POST","requestID":"7b87704b17d92e28c50be444e2426ba7","responseTime":165,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.174","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7b87704b17d92e28c50be444e2426ba7"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"50d27011-5d79-4799-bb73-150aa1a30172","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5875883} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling 200 13ms","method":"POST","requestID":"fdbe9f70-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.991476,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","rebac_allow":false,"scope_allow":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":"fdbfb0e0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b83d193287b76d034f58646726c8413","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} device_1 | {"level":"info","message":"POST /devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling 200 13ms","method":"POST","requestID":"fdbfb0e0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833992,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"3b83d193287b76d034f58646726c8413"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"464b2632-386e-4137-ad5c-823efe202d53","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.5973861} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.64778,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","rebac_allow":false,"scope_allow":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":"fdc13780-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.220122455Z"}]},"request_id":"2b1b2f46-dcd5-49af-a418-8ed20d919c4d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.6018453} device_1 | {"level":"info","message":"POST /devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling 200 10ms","method":"POST","requestID":"fdc13780-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3b83d193287b76d034f58646726c8413"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"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":"e4fe1338-360d-4a35-ad36-814589bd3011"},{"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":"42112830-8c95-401c-bb1b-1a987431489e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d9066ad6-f50a-4282-92cc-ee130a880c23"}]},"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/9697dcbc-91d2-4360-829f-7591b31089da"},{"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/74de28ae-6897-4397-bf10-3bf59906792e"}],"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":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/74de28ae-6897-4397-bf10-3bf59906792e? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b83d193287b76d034f58646726c8413"} device_1 | {"level":"info","message":"GET /devices/74de28ae-6897-4397-bf10-3bf59906792e? 200 13ms","method":"GET","requestID":"3b83d193287b76d034f58646726c8413","responseTime":13,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.700912,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"fdc33350-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ecf8c8534f581dcc857f41d33ad7ab0f","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675927,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"ecf8c8534f581dcc857f41d33ad7ab0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"9010e712-caa0-4278-93da-95bcd5943e4b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.6186574} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3127ce20-2f7c-46c4-82b2-e944f725ce26","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.619109} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:19.263736930Z"}]},"request_id":"cfeca2ec-15d2-431f-b4d9-516c0a02ef75","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.6195874} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecf8c8534f581dcc857f41d33ad7ab0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":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":"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":"fdc33350-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9697dcbc-91d2-4360-829f-7591b31089da? 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":"ecf8c8534f581dcc857f41d33ad7ab0f"} device_1 | {"level":"info","message":"GET /devices/9697dcbc-91d2-4360-829f-7591b31089da? 200 13ms","method":"GET","requestID":"ecf8c8534f581dcc857f41d33ad7ab0f","responseTime":13,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da?"} 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/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 38ms","method":"POST","requestID":"fdc33350-f804-11ee-96ad-77028417699d","responseTime":38,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5c5c4a69-4ec6-4051-8bdd-454c18d58d54","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.6741135} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.447161,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","rebac_allow":false,"scope_allow":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":"fdcd1e60-f804-11ee-96ad-77028417699d"},"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/74de28ae-6897-4397-bf10-3bf59906792e/signaling 200 8ms","method":"POST","requestID":"fdcd1e60-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73857c00-de30-4e3f-a393-4adebeabc5ce","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.6845045} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.509709,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","rebac_allow":false,"scope_allow":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":"fdcea500-f804-11ee-96ad-77028417699d"},"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/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling 200 12ms","method":"POST","requestID":"fdcea500-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fca658161d9269c828f81aebd848ac0c","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da"},{"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/74de28ae-6897-4397-bf10-3bf59906792e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"fca658161d9269c828f81aebd848ac0c","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"fca658161d9269c828f81aebd848ac0c"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","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/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","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":"e28ce880b9030dc1dc855e751cff0143","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/9697dcbc-91d2-4360-829f-7591b31089da"},{"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/74de28ae-6897-4397-bf10-3bf59906792e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd30951b3-a7c9-4a9f-b2e0-83b202bfc31d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baa3dbc1-ba09-4896-b257-298e6c38de62","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.7560098} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.425779,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","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":"fdd97a70-f804-11ee-96ad-77028417699d"},"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/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d 200 9ms","method":"GET","requestID":"fdd97a70-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 26ms","method":"POST","requestID":"e28ce880b9030dc1dc855e751cff0143","responseTime":26,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"e28ce880b9030dc1dc855e751cff0143"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"084bc47f-c32b-4b29-ac74-ae57f13ff1a9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.7798464} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.40891,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","rebac_allow":false,"scope_allow":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":"fddcd5d0-f804-11ee-96ad-77028417699d"},"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/9697dcbc-91d2-4360-829f-7591b31089da/signaling 200 11ms","method":"POST","requestID":"fddcd5d0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8f8df430-2bda-4b18-ab8b-aa08677c8078","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.7906435} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.058399,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","rebac_allow":false,"scope_allow":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":"fdded1a0-f804-11ee-96ad-77028417699d"},"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/74de28ae-6897-4397-bf10-3bf59906792e/signaling 200 8ms","method":"POST","requestID":"fdded1a0-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53eb2b0a6b540d80e0a4ae8d8b7633c8","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.31666,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"53eb2b0a6b540d80e0a4ae8d8b7633c8"},"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/e17f464d-b729-4c8a-9a91-02f72caa8840"} gateway_1 | {"time_local":"11/Apr/2024:13:11:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53eb2b0a6b540d80e0a4ae8d8b7633c8"} experiment_1 | {"level":"info","message":"GET /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840 200 16ms","method":"GET","requestID":"53eb2b0a6b540d80e0a4ae8d8b7633c8","responseTime":16,"status":200,"url":"/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8175136433ad8723638c8b9fb1e1130d","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.238665,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"8175136433ad8723638c8b9fb1e1130d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.436624,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841081,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4MX0.03sFeM8lVapnBcoDfKtPI1mpYYMQEwQpjFiUwGzJbUo"} 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":"fdedecd0-f804-11ee-96ad-77028417699d"},"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/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","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":"2260c4b641b37dfff56bab6e84eb788c","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da"},{"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/74de28ae-6897-4397-bf10-3bf59906792e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b75086dc5964ac13211e99c7f035aab4","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/9697dcbc-91d2-4360-829f-7591b31089da"},{"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/74de28ae-6897-4397-bf10-3bf59906792e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd30951b3-a7c9-4a9f-b2e0-83b202bfc31d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd30951b3-a7c9-4a9f-b2e0-83b202bfc31d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"d9e42edd-dfd4-4f6d-af7c-0fbb973511e0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.9186215} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70b928d9-fcef-4d02-af65-80a34597b842","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.9190214} device_1 | {"data":{"peerconnection":"d30951b3-a7c9-4a9f-b2e0-83b202bfc31d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fdedecd0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d 204 48ms","method":"DELETE","requestID":"fdedecd0-f804-11ee-96ad-77028417699d","responseTime":48,"status":204,"url":"/peerconnections/d30951b3-a7c9-4a9f-b2e0-83b202bfc31d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9697dcbc-91d2-4360-829f-7591b31089da","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e8f8c567-309f-4bb8-92fb-6468389c0f78","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.965267} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.780078,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9697dcbc-91d2-4360-829f-7591b31089da","object_type":"device","rebac_allow":false,"scope_allow":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":"fdf91060-f804-11ee-96ad-77028417699d"},"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/9697dcbc-91d2-4360-829f-7591b31089da/signaling 200 15ms","method":"POST","requestID":"fdf91060-f804-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/9697dcbc-91d2-4360-829f-7591b31089da/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe17f464d-b729-4c8a-9a91-02f72caa8840': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe17f464d-b729-4c8a-9a91-02f72caa8840","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"97307890-905f-45e1-b915-6d5fbb6bef8a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.9759696} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5863ac23-d210-49ee-963e-cd6de3b84c42","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.9772093} 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":"8175136433ad8723638c8b9fb1e1130d"},"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:38658","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F74de28ae-6897-4397-bf10-3bf59906792e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fd440976-35ec-4849-90d3-1ee924fa87cc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841081.9838529} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.785862,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:21Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/74de28ae-6897-4397-bf10-3bf59906792e","object_type":"device","rebac_allow":false,"scope_allow":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":"fdfbcf80-f804-11ee-96ad-77028417699d"},"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/74de28ae-6897-4397-bf10-3bf59906792e/signaling 200 13ms","method":"POST","requestID":"fdfbcf80-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/74de28ae-6897-4397-bf10-3bf59906792e/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840 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":"8175136433ad8723638c8b9fb1e1130d"} experiment_1 | {"level":"info","message":"DELETE /experiments/e17f464d-b729-4c8a-9a91-02f72caa8840 204 168ms","method":"DELETE","requestID":"8175136433ad8723638c8b9fb1e1130d","responseTime":168,"status":204,"url":"/experiments/e17f464d-b729-4c8a-9a91-02f72caa8840"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2081","request_time":"2.238","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f8fa76adb020d04f88680e184b5a6576"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 127ms","method":"POST","requestID":"2260c4b641b37dfff56bab6e84eb788c","responseTime":127,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch","requestID":"2260c4b641b37dfff56bab6e84eb788c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 126ms","method":"POST","requestID":"b75086dc5964ac13211e99c7f035aab4","responseTime":126,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.133","http_referrer":"","http_user_agent":"node-fetch","requestID":"b75086dc5964ac13211e99c7f035aab4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"68935498e12138c44265ceb64c61f402","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/74de28ae-6897-4397-bf10-3bf59906792e' closed"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.708","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4340c5f0fb59b58171f58e41f6640932"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.877836,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"68935498e12138c44265ceb64c61f402"},"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/9697dcbc-91d2-4360-829f-7591b31089da' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c069ccb6-3b7a-4304-bcd1-16ae8d6b946e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.0671484} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68935498e12138c44265ceb64c61f402"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"133eaaa7-2c98-46ee-8d08-cb746dd1ecf6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.072183} 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":"68935498e12138c44265ceb64c61f402"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"04eb4c6e-8150-46cf-9e2c-e6c40540171f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.0839005} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f542adb-ee3b-489a-8d7b-ead8f3b4abf4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.0840921} 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":"68935498e12138c44265ceb64c61f402"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"3cb64860-cca1-4d9f-8066-c12fd69445dc","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.088665} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"68935498e12138c44265ceb64c61f402"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 44ms","method":"POST","requestID":"68935498e12138c44265ceb64c61f402","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +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":"68935498e12138c44265ceb64c61f402"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"379497c3e85946325aa8dfc9d078b765","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.775256,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"379497c3e85946325aa8dfc9d078b765"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"90558fd0-23aa-4ac4-89ab-b16c5dba2d08","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.112592} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"379497c3e85946325aa8dfc9d078b765"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b00bb137-d97c-4356-b624-3d630aa53598","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.1182854} 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":"379497c3e85946325aa8dfc9d078b765"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"90adf464-4f68-49f0-b0e4-a680e2cc20fe","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.1280484} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"706d9b05-3156-4809-9dd0-436d5519f0ed","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.1281524} 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":"379497c3e85946325aa8dfc9d078b765"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"f95db9a8-9c92-452e-93ca-8efd203057ca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.1327116} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"379497c3e85946325aa8dfc9d078b765"},"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":"379497c3e85946325aa8dfc9d078b765","responseTime":39,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"379497c3e85946325aa8dfc9d078b765"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3096868a23bb2302774e4ed0469e9f73","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888337,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"3096868a23bb2302774e4ed0469e9f73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f0feeb2f348b4607c26be4dda507194","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.591497,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"7f0feeb2f348b4607c26be4dda507194"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"e8c2401c-e1cf-40ff-ba9b-4121e387c767","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.6044562} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3096868a23bb2302774e4ed0469e9f73"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1a656ac3-c03f-4f3e-a2ed-06fd96729b63","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.610378} 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":"3096868a23bb2302774e4ed0469e9f73"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"878afc90-817d-4c0a-b529-23ea12b1e72c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.6119554} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f0feeb2f348b4607c26be4dda507194"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db5cd80e-24b8-42b3-a616-809f8353e72f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.6177368} 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":"7f0feeb2f348b4607c26be4dda507194"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"30b9f2aa-2278-456b-8e53-3195673d9761","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.6265743} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3096868a23bb2302774e4ed0469e9f73"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6 200 35ms","method":"PATCH","requestID":"3096868a23bb2302774e4ed0469e9f73","responseTime":35,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.039","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3096868a23bb2302774e4ed0469e9f73"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"72814d7f2dac81aa1b7b2881952d345a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124226,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72814d7f2dac81aa1b7b2881952d345a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"26db6d07-80ee-4c59-8fcb-008e8cc0bb4f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.6402836} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f0feeb2f348b4607c26be4dda507194"},"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":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7f0feeb2f348b4607c26be4dda507194"} device_1 | {"level":"info","message":"PATCH /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0 200 43ms","method":"PATCH","requestID":"7f0feeb2f348b4607c26be4dda507194","responseTime":43,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"63eb747819f5fee66f2e94739bc98d71","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/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.3","requestID":"72814d7f2dac81aa1b7b2881952d345a"} device_1 | {"level":"info","message":"POST /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/websocket 200 18ms","method":"POST","requestID":"72814d7f2dac81aa1b7b2881952d345a","responseTime":18,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/websocket"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.256793,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63eb747819f5fee66f2e94739bc98d71"},"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/websocket 200 13ms","method":"POST","requestID":"63eb747819f5fee66f2e94739bc98d71","responseTime":13,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/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.3","requestID":"63eb747819f5fee66f2e94739bc98d71"} device_1 | {"level":"info","message":"device 'http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f04abb2f8c737baf903ca13e22c6ca1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.664446,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f04abb2f8c737baf903ca13e22c6ca1"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"b528715c-f1f6-4e55-8d26-b7bbcbe1cf2b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.691551} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6f04abb2f8c737baf903ca13e22c6ca1"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? 200 12ms","method":"GET","requestID":"6f04abb2f8c737baf903ca13e22c6ca1","responseTime":12,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.017","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f04abb2f8c737baf903ca13e22c6ca1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5ace9324c0a22bf57e831b1fabe55a48","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.82483,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ace9324c0a22bf57e831b1fabe55a48"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"c32ab5c6-2026-44af-9616-4d6852bb1d5e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.7086163} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ace9324c0a22bf57e831b1fabe55a48"},"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? 200 12ms","method":"GET","requestID":"5ace9324c0a22bf57e831b1fabe55a48","responseTime":12,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ace9324c0a22bf57e831b1fabe55a48"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5a7a8cccc0514fe75acfdcee42a6ca00","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:38658","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.771695,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"5a7a8cccc0514fe75acfdcee42a6ca00"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"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:38658","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205715,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe72d440-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.595323,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe72fb50-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"0bfd4a0c-c225-45ad-9591-252c0aa92329","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.765543} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe72d440-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"b1570b89-a17d-4eaf-9672-b94adbc1bebd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.7688043} 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":"fe72fb50-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? 200 14ms","method":"GET","requestID":"fe72d440-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? 200 18ms","method":"GET","requestID":"fe72fb50-f804-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"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/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.449157,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"fe7da9b0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.459703,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"fe7df7d0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e23450c-8d48-4422-a451-d646d9aeae15","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8403964} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.931304,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","rebac_allow":false,"scope_allow":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":"fe7e45f0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"310135c4-e6b3-4657-ae76-23119b2eb5ac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8436716} 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":"fe7da9b0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"6b8db51b-f7ad-4aae-ad17-0c379dc50e22","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8480234} 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":"fe7df7d0-f804-11ee-96ad-77028417699d"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling 200 21ms","method":"POST","requestID":"fe7e45f0-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90e51216-ca11-440b-86a0-e534f99eda1c#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90e51216-ca11-440b-86a0-e534f99eda1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"fdb69d00-3807-4d64-bf0e-50a30209b1e9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8544278} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b579cf08-ea29-4f7d-b94b-51aefab68a37","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8546534} 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":"5a7a8cccc0514fe75acfdcee42a6ca00"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":18}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"level":"info","message":"GET /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? 200 32ms","method":"GET","requestID":"fe7da9b0-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? 200 31ms","method":"GET","requestID":"fe7df7d0-f804-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e666e696-224a-433a-b025-05db8efef27b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8608341} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.084905,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","rebac_allow":false,"scope_allow":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":"fe821680-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 146ms","method":"POST","requestID":"5a7a8cccc0514fe75acfdcee42a6ca00","responseTime":146,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5a7a8cccc0514fe75acfdcee42a6ca00"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"level":"info","message":"POST /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling 200 13ms","method":"POST","requestID":"fe821680-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f6034f00-d932-473c-9762-a66794e03958","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8706286} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.849865,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03d8a98d2076cad87b87ed08090d8742","responseTime":3,"status":200,"url":"/auth"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"133","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fe839d20-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.649273,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling 200 11ms","method":"POST","requestID":"fe839d20-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03d8a98d2076cad87b87ed08090d8742"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.083877014Z"}]},"request_id":"419aa69e-1e11-49cf-bb6f-e66b5bab0ae8","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.880999} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"03d8a98d2076cad87b87ed08090d8742"},"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:38658","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5263e420-7b2c-4580-9c2d-22f5f750bd85","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8842335} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.264321,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03d8a98d2076cad87b87ed08090d8742"} device_1 | {"level":"info","message":"GET /devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6? 200 13ms","method":"GET","requestID":"03d8a98d2076cad87b87ed08090d8742","responseTime":13,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6?"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","rebac_allow":false,"scope_allow":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":"fe8598f0-f804-11ee-96ad-77028417699d"},"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling 200 10ms","method":"POST","requestID":"fe8598f0-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk","level":"info","message":"auth send jwt"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"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":"01fa4a84-824d-451d-98fb-4615b6d07678"},{"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":"5ffc7dcf-323e-4bc7-b9f7-77d21a435dac"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"53095283-97fd-4e76-8e2c-ea52b6ce6f5d"}]},"level":"info","message":"Built pairwise service configurations"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0eb9b09e97cbd3216dcb7e6204c85b0","responseTime":3,"status":200,"url":"/auth"} 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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"},{"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891315,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"d0eb9b09e97cbd3216dcb7e6204c85b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.668454,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841082,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Mn0.zR4XNNYA5-S96mdHoNxIeapcEN5xVvhUl7_PzrP1wwk"} 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":"fe876db0-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:22.128016279Z"}]},"request_id":"2408674f-82d4-4f58-8c66-e066d49989ca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.8976734} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d0eb9b09e97cbd3216dcb7e6204c85b0"},"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":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0eb9b09e97cbd3216dcb7e6204c85b0"} device_1 | {"level":"info","message":"GET /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0? 200 11ms","method":"GET","requestID":"d0eb9b09e97cbd3216dcb7e6204c85b0","responseTime":11,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"db4548e6-bc0f-4202-8d4a-724dbf379a62","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.9034953} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"24872986-e21c-40c9-a655-dbf712e8bd42","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.9038835} 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":"fe876db0-f804-11ee-96ad-77028417699d"},"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/36d51461-1d2f-4bdc-81ab-5fae8ae08a47'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47'"} 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":"fe876db0-f804-11ee-96ad-77028417699d","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/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"67a5f7fb-1586-4038-905f-98b781287987","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.9543102} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.44103,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","rebac_allow":false,"scope_allow":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":"fe906e60-f804-11ee-96ad-77028417699d"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling 200 8ms","method":"POST","requestID":"fe906e60-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:22Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d74f6118-333b-4856-ad64-5398e1e06ea9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841082.9645627} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.340032,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:22Z"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","rebac_allow":false,"scope_allow":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":"fe91f500-f804-11ee-96ad-77028417699d"},"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":"aef2d107448fc8d720b598cce988bde5","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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"},{"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling 200 11ms","method":"POST","requestID":"fe91f500-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"aef2d107448fc8d720b598cce988bde5","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"aef2d107448fc8d720b598cce988bde5"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","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/36d51461-1d2f-4bdc-81ab-5fae8ae08a47' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","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":"7745b1dad655c41b51d362961b9fe765","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"},{"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36d51461-1d2f-4bdc-81ab-5fae8ae08a47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f46f6ec2-f6e6-4f60-90ae-b7d7bbf740ce","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.0237374} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.331281,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47","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":"fe9af5b0-f804-11ee-96ad-77028417699d"},"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/36d51461-1d2f-4bdc-81ab-5fae8ae08a47 200 8ms","method":"GET","requestID":"fe9af5b0-f804-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 27ms","method":"POST","requestID":"7745b1dad655c41b51d362961b9fe765","responseTime":27,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.030","http_referrer":"","http_user_agent":"node-fetch","requestID":"7745b1dad655c41b51d362961b9fe765"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9c7a5965-dfe2-439b-8182-d80e0e5c1706","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.0464108} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.690163,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","rebac_allow":false,"scope_allow":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":"fe9e7820-f804-11ee-96ad-77028417699d"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling 200 9ms","method":"POST","requestID":"fe9e7820-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2b8bb45-bcff-4aea-a784-bc84001f9031","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.0576043} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.177167,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","rebac_allow":false,"scope_allow":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":"fea025d0-f804-11ee-96ad-77028417699d"},"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling 200 9ms","method":"POST","requestID":"fea025d0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"98409231c4457921f4fc38e1b6979678","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/90e51216-ca11-440b-86a0-e534f99eda1c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.065491,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"98409231c4457921f4fc38e1b6979678"},"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/90e51216-ca11-440b-86a0-e534f99eda1c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/90e51216-ca11-440b-86a0-e534f99eda1c HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"98409231c4457921f4fc38e1b6979678"} experiment_1 | {"level":"info","message":"GET /experiments/90e51216-ca11-440b-86a0-e534f99eda1c 200 15ms","method":"GET","requestID":"98409231c4457921f4fc38e1b6979678","responseTime":15,"status":200,"url":"/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3208088527b87f971ddef4f17b585c48","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/90e51216-ca11-440b-86a0-e534f99eda1c"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.312044,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"3208088527b87f971ddef4f17b585c48"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.13934,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"feaf19f0-f804-11ee-96ad-77028417699d"},"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/36d51461-1d2f-4bdc-81ab-5fae8ae08a47' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","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":"46315ebc1e979c6277e7eff8f93c3b8d","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36d51461-1d2f-4bdc-81ab-5fae8ae08a47': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F36d51461-1d2f-4bdc-81ab-5fae8ae08a47","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"7f6c81a7-86db-4d53-83d6-440ecfe20772","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.1730819} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37024a6c-fa06-4492-afd9-996ba5323a3b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.173273} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"},{"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5d38e463c1d676b6191e803ac2d91fd7","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":"feaf19f0-f804-11ee-96ad-77028417699d"},"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":[{"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6"},{"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"36d51461-1d2f-4bdc-81ab-5fae8ae08a47","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/36d51461-1d2f-4bdc-81ab-5fae8ae08a47 204 51ms","method":"DELETE","requestID":"feaf19f0-f804-11ee-96ad-77028417699d","responseTime":51,"status":204,"url":"/peerconnections/36d51461-1d2f-4bdc-81ab-5fae8ae08a47"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3ebd3ed9-6823-4a80-b6cd-111d58f660e6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"019b83d9-27df-47f5-a291-24f3603bc413","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.2320852} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.878883,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6","object_type":"device","rebac_allow":false,"scope_allow":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":"feba8ba0-f804-11ee-96ad-77028417699d"},"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/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling 200 13ms","method":"POST","requestID":"feba8ba0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90e51216-ca11-440b-86a0-e534f99eda1c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F90e51216-ca11-440b-86a0-e534f99eda1c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"0fb3aabc-8c0b-430b-8028-753c38b03fb0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.241477} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd5c062e-e9be-4e00-bb39-14f77cc344e0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.2420402} 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":"3208088527b87f971ddef4f17b585c48"},"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:38658","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7748fab-8cbd-4ec4-b55c-a896cd2f83c0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38bed5da-8d4d-40c1-b834-2e2f760696ed","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.2483578} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.74926,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0","object_type":"device","rebac_allow":false,"scope_allow":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":"febcfca0-f804-11ee-96ad-77028417699d"},"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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling 200 13ms","method":"POST","requestID":"febcfca0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/90e51216-ca11-440b-86a0-e534f99eda1c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/90e51216-ca11-440b-86a0-e534f99eda1c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.175","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3208088527b87f971ddef4f17b585c48"} experiment_1 | {"level":"info","message":"DELETE /experiments/90e51216-ca11-440b-86a0-e534f99eda1c 204 169ms","method":"DELETE","requestID":"3208088527b87f971ddef4f17b585c48","responseTime":170,"status":204,"url":"/experiments/90e51216-ca11-440b-86a0-e534f99eda1c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.646","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9ea353bffedb2b09dcc1d2ea485de759"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.636","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e8b749b2b767a40f918f38d982462832"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"46315ebc1e979c6277e7eff8f93c3b8d","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"46315ebc1e979c6277e7eff8f93c3b8d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"5d38e463c1d676b6191e803ac2d91fd7","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"5d38e463c1d676b6191e803ac2d91fd7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"feda8c4ffb21c0a3dc8c735a265f4315","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/b7748fab-8cbd-4ec4-b55c-a896cd2f83c0' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.16054,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3ebd3ed9-6823-4a80-b6cd-111d58f660e6' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"feda8c4ffb21c0a3dc8c735a265f4315"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a5037b15-4331-4d34-94bd-857b0ec15032","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3361084} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feda8c4ffb21c0a3dc8c735a265f4315"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9c892aaf-7226-4bcc-9ed4-a31d6213064d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3427346} 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":"feda8c4ffb21c0a3dc8c735a265f4315"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d55d024f-b9a2-4814-b54f-c16282433c04","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3557284} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0442888c-2627-446e-948a-d6e03ffe2e8d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3564403} 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":"feda8c4ffb21c0a3dc8c735a265f4315"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"d77dcee1-bb19-4c58-bc73-9c40a5b0cb1c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3631175} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"feda8c4ffb21c0a3dc8c735a265f4315"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 53ms","method":"POST","requestID":"feda8c4ffb21c0a3dc8c735a265f4315","responseTime":53,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"feda8c4ffb21c0a3dc8c735a265f4315"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"81013990b8c0a412605fd2ebd638222c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.762211,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"81013990b8c0a412605fd2ebd638222c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3e567596-9562-41bf-b505-a96214923203","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.392401} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81013990b8c0a412605fd2ebd638222c"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"419e6ace-2a5d-4b3b-b482-7dd552c3d2dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.3984127} 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":"81013990b8c0a412605fd2ebd638222c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"3ad06310-5d52-450d-b3d6-67ecfbd45b10","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.407458} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2eb5b89c-da6e-438f-a500-88670bc4067d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.4075596} 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":"81013990b8c0a412605fd2ebd638222c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"81411216-e732-46f3-bd19-242499def863","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.4130785} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"81013990b8c0a412605fd2ebd638222c"},"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":"81013990b8c0a412605fd2ebd638222c","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.069","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81013990b8c0a412605fd2ebd638222c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"941087a915fae9e7f9b8a65b3658b052","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.640416,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"941087a915fae9e7f9b8a65b3658b052"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"4bb36b44-7e55-4f5f-a870-74fccbeb4458","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.8800507} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941087a915fae9e7f9b8a65b3658b052"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"055673cace7580585635fadceb37e09a","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ddc8209-857a-4abe-9763-3cbfe73ac946","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.8851256} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} 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":"941087a915fae9e7f9b8a65b3658b052"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.902813,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"055673cace7580585635fadceb37e09a"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"92c5fc3d-e391-49ae-83f5-77c2ea50665c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.9045477} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"941087a915fae9e7f9b8a65b3658b052"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"91032906-4ef6-4357-8e65-dd102fa58dce","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.9054494} device_1 | {"level":"info","message":"patchDevicesByDeviceId 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":"055673cace7580585635fadceb37e09a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"PATCH /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809 200 36ms","method":"PATCH","requestID":"941087a915fae9e7f9b8a65b3658b052","responseTime":36,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.040","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"941087a915fae9e7f9b8a65b3658b052"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3e20262-2bc7-49b9-a83d-d6567aa024ac","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.911458} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ba3e9456c80747d775eb04252b7428bf","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} 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":"055673cace7580585635fadceb37e09a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696945,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"ba3e9456c80747d775eb04252b7428bf"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"750dd647-ca1c-45d6-91cf-5213909f28e1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.9229302} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"055673cace7580585635fadceb37e09a"},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f 200 39ms","method":"PATCH","requestID":"055673cace7580585635fadceb37e09a","responseTime":39,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"055673cace7580585635fadceb37e09a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b6c0f64d1f2066b4e916018adbf77c6","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.022","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ba3e9456c80747d775eb04252b7428bf"} device_1 | {"level":"info","message":"POST /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/websocket 200 18ms","method":"POST","requestID":"ba3e9456c80747d775eb04252b7428bf","responseTime":18,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772939,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} 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":"3b6c0f64d1f2066b4e916018adbf77c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"device 'http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809' connected"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/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.3","requestID":"3b6c0f64d1f2066b4e916018adbf77c6"} device_1 | {"level":"info","message":"POST /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/websocket 200 21ms","method":"POST","requestID":"3b6c0f64d1f2066b4e916018adbf77c6","responseTime":21,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7c8be28d0e7db2985d03edfa17b0fa4f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.994615,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c8be28d0e7db2985d03edfa17b0fa4f"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"28a424bf-9392-4274-a582-4e7f50784ef0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841083.9833026} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7c8be28d0e7db2985d03edfa17b0fa4f"},"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":"11/Apr/2024:13:11:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c8be28d0e7db2985d03edfa17b0fa4f"} device_1 | {"level":"info","message":"GET /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809? 200 15ms","method":"GET","requestID":"7c8be28d0e7db2985d03edfa17b0fa4f","responseTime":15,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54dc0f7b9cfa4ad735b0c1b130f462fb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:23Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.76677,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841083,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4M30.hhIsTbNvL9Qc2tdgxe-9mOr8e2yNZEIErSsElpY-H-E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54dc0f7b9cfa4ad735b0c1b130f462fb"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"b852c71f-6916-4007-9538-7b0611882900","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.0068018} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54dc0f7b9cfa4ad735b0c1b130f462fb"},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f? 200 17ms","method":"GET","requestID":"54dc0f7b9cfa4ad735b0c1b130f462fb","responseTime":17,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54dc0f7b9cfa4ad735b0c1b130f462fb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bdce314935063ccaf4264ca776207f1c","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:38658","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.316456,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"bdce314935063ccaf4264ca776207f1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"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:38658","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201383,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3b7b70-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.955882,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"ff3bc990-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"d291f321-3d32-4909-b270-da3f278b751a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.0839725} 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":"ff3b7b70-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"b15fe546-96c8-4b78-b87b-acb094f7b196","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.0854573} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff3bc990-f804-11ee-96ad-77028417699d"},"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809? 200 21ms","method":"GET","requestID":"ff3b7b70-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f? 200 21ms","method":"GET","requestID":"ff3bc990-f804-11ee-96ad-77028417699d","responseTime":21,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"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:38658","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.398393,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"ff47b070-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.305882,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"ff47d780-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.016664,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"067b7361-9084-494c-beda-52e7bab0549e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1627944} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","rebac_allow":false,"scope_allow":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":"ff4825a0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"e40db0a5-bccd-4418-b612-a6cdd080222d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1690073} 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":"ff47b070-f804-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"3983ed9d-0e36-49d9-8748-ba54af09ee4a","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1727695} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff47d780-f804-11ee-96ad-77028417699d"},"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling 200 22ms","method":"POST","requestID":"ff4825a0-f804-11ee-96ad-77028417699d","responseTime":22,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809? 200 32ms","method":"GET","requestID":"ff47b070-f804-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab0f810c-3288-4d9c-aa03-cc15c859c47e#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab0f810c-3288-4d9c-aa03-cc15c859c47e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a632ce1c-895a-436e-a2b9-44a2928cbd91","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1826837} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"626a07f8-49ff-4424-b5ed-02dd0999e852","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1830728} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f? 200 33ms","method":"GET","requestID":"ff47d780-f804-11ee-96ad-77028417699d","responseTime":33,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} 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":"bdce314935063ccaf4264ca776207f1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":22}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d43d7c2-d992-4c3e-9bf8-cc34e530dfd6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.186823} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.431657,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff4c1d40-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling 200 14ms","method":"POST","requestID":"ff4c1d40-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7a7fb95-de03-4f0c-adf8-ae0237c85cb0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.1943178} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.775904,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","rebac_allow":false,"scope_allow":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":"ff4d55c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"bdce314935063ccaf4264ca776207f1c","responseTime":180,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.186","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bdce314935063ccaf4264ca776207f1c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling 200 13ms","method":"POST","requestID":"ff4d55c0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1b283f20ec4c23c2a804a33eb85a5684","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"73c1772e-d519-44b3-87d6-59dc3e3f615b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2098746} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.925791,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff4fc6c0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.286439,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"1b283f20ec4c23c2a804a33eb85a5684"},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling 200 14ms","method":"POST","requestID":"ff4fc6c0-f804-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"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":"4093a87b-8859-43c6-94c5-43d1c6029364"},{"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":"c66115a8-3d8e-4230-be9e-22c18b43832a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7863ab21-55f4-4ead-a14e-159ad26a1e8d"}]},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f"},{"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809"}],"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.355689533Z"}]},"request_id":"6b9bfdc1-e7e1-46f3-9c03-7fc743ae0f94","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2198164} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1b283f20ec4c23c2a804a33eb85a5684"},"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:38658","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.808791,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} device_1 | {"level":"info","message":"GET /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809? 200 19ms","method":"GET","requestID":"1b283f20ec4c23c2a804a33eb85a5684","responseTime":19,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809?"} 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":"ff525ed0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1b283f20ec4c23c2a804a33eb85a5684"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"91956a8cf20765ec0309d78d366d724b","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"9433c9fe-e2e9-40e7-8176-904672c4fe50","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2336235} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"48d5df5d-a75b-4812-9e30-4fb9555ca5a1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2339923} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842623,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} 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":"ff525ed0-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"91956a8cf20765ec0309d78d366d724b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:23.407423049Z"}]},"request_id":"98334b74-ad6b-4830-8648-4142f9ca4a88","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2402022} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"91956a8cf20765ec0309d78d366d724b"},"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/0671da2e-1785-4899-9e12-cb6678b015d9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 32ms","method":"POST","requestID":"ff525ed0-f804-11ee-96ad-77028417699d","responseTime":32,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"91956a8cf20765ec0309d78d366d724b"} device_1 | {"level":"info","message":"GET /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f? 200 23ms","method":"GET","requestID":"91956a8cf20765ec0309d78d366d724b","responseTime":23,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c28ea2fe-9b96-4f53-bb42-965f89c324e1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2849166} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.358846,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} 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":"ff5b5f80-f804-11ee-96ad-77028417699d"},"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":"cfa83c3b3ca7616eefcf378c5cc6f273","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f"},{"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling 200 12ms","method":"POST","requestID":"ff5b5f80-f804-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"cfa83c3b3ca7616eefcf378c5cc6f273","responseTime":7,"status":200,"url":"/callbacks/experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"cfa83c3b3ca7616eefcf378c5cc6f273"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a4efcaf-2750-48fd-a8bb-e7ba1a3f9159","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.2990956} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.302754,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff5d8260-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling 200 10ms","method":"POST","requestID":"ff5d8260-f804-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","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/0671da2e-1785-4899-9e12-cb6678b015d9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","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":"8f628b6e7fed4f089f2e683db0aa3736","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/00c2ffa9-a2f3-441d-9336-d7b5f316114f"},{"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0671da2e-1785-4899-9e12-cb6678b015d9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0225712c-f91d-4a30-af9c-6d73bab18276","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.3377666} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.00333,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9","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":"ff639ce0-f804-11ee-96ad-77028417699d"},"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/0671da2e-1785-4899-9e12-cb6678b015d9 200 7ms","method":"GET","requestID":"ff639ce0-f804-11ee-96ad-77028417699d","responseTime":7,"status":200,"url":"/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 24ms","method":"POST","requestID":"8f628b6e7fed4f089f2e683db0aa3736","responseTime":24,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.027","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f628b6e7fed4f089f2e683db0aa3736"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b8dce85-44b8-4e49-86d7-3959ab1a9699","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.3594036} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.757117,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff66aa20-f804-11ee-96ad-77028417699d"},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling 200 9ms","method":"POST","requestID":"ff66aa20-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7062540a-da7b-40f1-9854-f8c0cdbde548","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.3694925} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.703778,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","rebac_allow":false,"scope_allow":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":"ff6857d0-f804-11ee-96ad-77028417699d"},"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling 200 9ms","method":"POST","requestID":"ff6857d0-f804-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6df6c4ba93427d7ceea83d5e910a8cd6","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.222469,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"6df6c4ba93427d7ceea83d5e910a8cd6"},"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/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} experiment_1 | {"level":"info","message":"GET /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e 200 17ms","method":"GET","requestID":"6df6c4ba93427d7ceea83d5e910a8cd6","responseTime":17,"status":200,"url":"/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6df6c4ba93427d7ceea83d5e910a8cd6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0c94326dd62baedb0a87ed55a62c2499","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.725364,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"0c94326dd62baedb0a87ed55a62c2499"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.712046,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"ff78d290-f804-11ee-96ad-77028417699d"},"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/0671da2e-1785-4899-9e12-cb6678b015d9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","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":"ec5b991d5faf3420697d48bf0f61e774","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0671da2e-1785-4899-9e12-cb6678b015d9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0671da2e-1785-4899-9e12-cb6678b015d9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"7d77121b-7b32-456a-b32a-0b84ad297542","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5007799} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1cda3124-1798-4658-aa62-e6c1838bd2d7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5013008} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/00c2ffa9-a2f3-441d-9336-d7b5f316114f"},{"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8017a048db726af72b8c58754d3e7cd","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ff78d290-f804-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f"},{"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"0671da2e-1785-4899-9e12-cb6678b015d9","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/0671da2e-1785-4899-9e12-cb6678b015d9 204 60ms","method":"DELETE","requestID":"ff78d290-f804-11ee-96ad-77028417699d","responseTime":60,"status":204,"url":"/peerconnections/0671da2e-1785-4899-9e12-cb6678b015d9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F00c2ffa9-a2f3-441d-9336-d7b5f316114f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2d0293d-0d59-4c3e-8c85-f1a6b329f229","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5626483} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.896881,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f","object_type":"device","rebac_allow":false,"scope_allow":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":"ff857cc0-f804-11ee-96ad-77028417699d"},"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/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling 200 13ms","method":"POST","requestID":"ff857cc0-f804-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab0f810c-3288-4d9c-aa03-cc15c859c47e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fab0f810c-3288-4d9c-aa03-cc15c859c47e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"717b92fa-4f2b-4b92-9a08-a02208da7b2d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5716639} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e427e1d1-db0c-45f6-acb7-551f0d0922f5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5719616} 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":"0c94326dd62baedb0a87ed55a62c2499"},"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:38658","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa97eba35-eca9-4dfc-8b54-adc9fdb82809","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b2f690fb-8a8d-4084-8fda-43f4c1d609ae","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.5789032} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.84158,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809","object_type":"device","rebac_allow":false,"scope_allow":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":"ff8814d0-f804-11ee-96ad-77028417699d"},"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling 200 11ms","method":"POST","requestID":"ff8814d0-f804-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/a97eba35-eca9-4dfc-8b54-adc9fdb82809/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c94326dd62baedb0a87ed55a62c2499"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2163","request_time":"0.698","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7af59bdcca990f23db94eaacebc7177c"} gateway_1 | {"time_local":"11/Apr/2024:13:11:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2161","request_time":"0.677","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"921436f658e6758e67e1351fc2bfe656"} experiment_1 | {"level":"info","message":"DELETE /experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e 204 175ms","method":"DELETE","requestID":"0c94326dd62baedb0a87ed55a62c2499","responseTime":175,"status":204,"url":"/experiments/ab0f810c-3288-4d9c-aa03-cc15c859c47e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 132ms","method":"POST","requestID":"ec5b991d5faf3420697d48bf0f61e774","responseTime":132,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.137","http_referrer":"","http_user_agent":"node-fetch","requestID":"ec5b991d5faf3420697d48bf0f61e774"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"d8017a048db726af72b8c58754d3e7cd","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.139","http_referrer":"","http_user_agent":"node-fetch","requestID":"d8017a048db726af72b8c58754d3e7cd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/00c2ffa9-a2f3-441d-9336-d7b5f316114f' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"95edbe58cb97a29c470b4475f86eeee3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.301999,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"95edbe58cb97a29c470b4475f86eeee3"},"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/a97eba35-eca9-4dfc-8b54-adc9fdb82809' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ccd8a370-d731-4ada-b4c8-9dc8a3019a57","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.6639721} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95edbe58cb97a29c470b4475f86eeee3"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a470d326-58a7-4d6b-a5ed-2822fb2b4f28","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.6710172} 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":"95edbe58cb97a29c470b4475f86eeee3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a7d6b34b-ab2a-4b85-bd97-411a3cf19631","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.680792} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36173c70-ac13-4f1b-a84d-e1aa1e02d494","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.682154} 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":"95edbe58cb97a29c470b4475f86eeee3"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.680755344Z"}]},"request_id":"ff134be6-3a76-4992-b7d1-59a376c52c9e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.6878939} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"95edbe58cb97a29c470b4475f86eeee3"},"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 50ms","method":"POST","requestID":"95edbe58cb97a29c470b4475f86eeee3","responseTime":50,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"95edbe58cb97a29c470b4475f86eeee3"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f9c66553ece5fd51b9de28751f712b6e","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.805292,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841084,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4NH0.bWCYP-hQ2cMrUTI2kmj0dRbVH4RQhi07n5nNly4zaPk"} 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":"f9c66553ece5fd51b9de28751f712b6e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30386826-5ab2-46cf-8016-475b4b00e022","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.7148783} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c66553ece5fd51b9de28751f712b6e"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"463ea29c-0f0b-4fbd-89b4-4f948fa41af9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.7208064} 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":"f9c66553ece5fd51b9de28751f712b6e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"d783125b-b2b5-4b50-a54b-e48b567fdd9d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.733343} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3841796-25fe-4502-81e2-af0db529cc44","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.7334692} 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":"f9c66553ece5fd51b9de28751f712b6e"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.733311087Z"}]},"request_id":"d043cb2e-c442-428e-afa3-0bdf4a9acca5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841084.7384372} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9c66553ece5fd51b9de28751f712b6e"},"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":"f9c66553ece5fd51b9de28751f712b6e","responseTime":43,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9c66553ece5fd51b9de28751f712b6e"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f3fc354578a06cbc0ec790188bcf5bab","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/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":"f3fc354578a06cbc0ec790188bcf5bab"} device_1 | {"level":"info","message":"OPTIONS /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/websocket 200 1ms","method":"OPTIONS","requestID":"f3fc354578a06cbc0ec790188bcf5bab","responseTime":1,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15755b0e13f7a744cff30d197f2c2cfa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.378951,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"a90503362814aa4cb6e73f02fb452083","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} gateway_1 | {"time_local":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/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":"a90503362814aa4cb6e73f02fb452083"} device_1 | {"level":"info","message":"OPTIONS /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/websocket 200 1ms","method":"OPTIONS","requestID":"a90503362814aa4cb6e73f02fb452083","responseTime":1,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/websocket"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15755b0e13f7a744cff30d197f2c2cfa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"30342b9b1659a5f44957c988de19eb40","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391103,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30342b9b1659a5f44957c988de19eb40"},"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":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"15755b0e13f7a744cff30d197f2c2cfa"} device_1 | {"level":"info","message":"POST /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/websocket 200 37ms","method":"POST","requestID":"15755b0e13f7a744cff30d197f2c2cfa","responseTime":37,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.037","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"30342b9b1659a5f44957c988de19eb40"} device_1 | {"level":"info","message":"POST /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/websocket 200 29ms","method":"POST","requestID":"30342b9b1659a5f44957c988de19eb40","responseTime":29,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7983060bbf8d1997dbcbae1060defe9c","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.338307,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7983060bbf8d1997dbcbae1060defe9c"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.680755344Z"}]},"request_id":"b5b3976b-1c81-4789-b2b2-421ca7a4908e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.7743466} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7983060bbf8d1997dbcbae1060defe9c"},"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":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 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":"7983060bbf8d1997dbcbae1060defe9c"} device_1 | {"level":"info","message":"GET /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 200 14ms","method":"GET","requestID":"7983060bbf8d1997dbcbae1060defe9c","responseTime":14,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a231bb5c6be3c1ea27977b8c39ab865b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891891,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"a231bb5c6be3c1ea27977b8c39ab865b"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.733311087Z"}]},"request_id":"e6d9eb72-29d8-4484-9cbb-13448595c935","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.792969} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a231bb5c6be3c1ea27977b8c39ab865b"},"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/2f0517a9-42f1-477b-9e5b-293a7e582b95? 200 13ms","method":"GET","requestID":"a231bb5c6be3c1ea27977b8c39ab865b","responseTime":13,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95? 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":"a231bb5c6be3c1ea27977b8c39ab865b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"932ae379504939c72f8b74d266305fc5","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:38658","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.136623,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"932ae379504939c72f8b74d266305fc5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"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:38658","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292313,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"00e5a900-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.079045,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"00e5d010-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.680755344Z"}]},"request_id":"aa215bf4-2927-4bbc-beaf-29da9f9a2677","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.8804553} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00e5a900-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.733311087Z"}]},"request_id":"511a4b97-4d0f-41ef-94f1-6bdce4c5bed1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.882525} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00e5d010-f805-11ee-96ad-77028417699d"},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 200 27ms","method":"GET","requestID":"00e5a900-f805-11ee-96ad-77028417699d","responseTime":27,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95? 200 28ms","method":"GET","requestID":"00e5d010-f805-11ee-96ad-77028417699d","responseTime":28,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"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/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.013128,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.062717,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"00f25330-f805-11ee-96ad-77028417699d"},"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/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"00f2a150-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:56358","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.812794,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"604064c3-c856-4c89-99a8-c5640169505c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9571233} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","rebac_allow":false,"scope_allow":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":"00f2c860-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.680755344Z"}]},"request_id":"b4a61f7d-6edd-4e46-9e83-a9a6234cff46","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9635653} device_1 | {"level":"info","message":"POST /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling 200 14ms","method":"POST","requestID":"00f2c860-f805-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/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":"00f25330-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.733311087Z"}]},"request_id":"cf3a1c92-a836-45cc-8bda-fd47c3b28440","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9645145} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00f2a150-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffeb5f95a-f9a7-45d5-8805-dc83616f3458#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffeb5f95a-f9a7-45d5-8805-dc83616f3458","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"83931f18-ef47-4e9b-8dce-39a30c28e700","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.969042} 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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f2b49ce-0b1b-40a2-aab0-3401765b19e3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9692655} device_1 | {"level":"info","message":"GET /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 200 24ms","method":"GET","requestID":"00f25330-f805-11ee-96ad-77028417699d","responseTime":24,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95? 200 23ms","method":"GET","requestID":"00f2a150-f805-11ee-96ad-77028417699d","responseTime":23,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95?"} 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":"932ae379504939c72f8b74d266305fc5"},"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:38658","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6df44dd8-b9af-4059-a56b-be919af0186d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.973043} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.999076,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","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":"00f56070-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling 200 13ms","method":"POST","requestID":"00f56070-f805-11ee-96ad-77028417699d","responseTime":13,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce7035fa-0538-44d5-a16a-453f73b17d7f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.981539} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.119327,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","rebac_allow":false,"scope_allow":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":"00f698f0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 180ms","method":"POST","requestID":"932ae379504939c72f8b74d266305fc5","responseTime":180,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"932ae379504939c72f8b74d266305fc5"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling 200 12ms","method":"POST","requestID":"00f698f0-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"021c340fdc6921cd9ae68a87135a3a90","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4a434315-80f2-4f5c-ab9f-20778fdbd65e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9935076} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667229,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"021c340fdc6921cd9ae68a87135a3a90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.290069,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:26Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","rebac_allow":false,"scope_allow":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":"00f8bbd0-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.680755344Z"}]},"request_id":"9963ef84-9766-410d-98e0-b53e9fb8be3c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841086.9978254} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling 200 9ms","method":"POST","requestID":"00f8bbd0-f805-11ee-96ad-77028417699d","responseTime":9,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"021c340fdc6921cd9ae68a87135a3a90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"5f14bf3c-96cd-4616-a8b3-5a5a01b01f26"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"848aaab4-2ce3-4eb6-b935-a479faa5aa3e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b4e57d0d-dcbf-4735-8c7b-04ffc7d41ebe"}]},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95"}],"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:38658","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 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":"021c340fdc6921cd9ae68a87135a3a90"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.913164,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} device_1 | {"level":"info","message":"GET /devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a? 200 12ms","method":"GET","requestID":"021c340fdc6921cd9ae68a87135a3a90","responseTime":12,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a?"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841086,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4Nn0.aIV4FtMrH5mAXw_VjdmpqGRw1R2d3kxHu2n6tUfpd7E"} 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":"00fa9090-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9bca440ac6ac86ab241f5567f5f67e77","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.62892,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"9bca440ac6ac86ab241f5567f5f67e77"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"652b814e-ead6-4138-88b7-030a838915dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.0179882} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"395e4b9a-d0ca-49c4-b04a-cab5d4267b85","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.0183432} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:24.733311087Z"}]},"request_id":"21fd4bc3-06cf-4245-8ec0-72e4b9dcedd9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.0189703} 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":"00fa9090-f805-11ee-96ad-77028417699d"},"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":"9bca440ac6ac86ab241f5567f5f67e77"},"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":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95? 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":"9bca440ac6ac86ab241f5567f5f67e77"} device_1 | {"level":"info","message":"GET /devices/2f0517a9-42f1-477b-9e5b-293a7e582b95? 200 13ms","method":"GET","requestID":"9bca440ac6ac86ab241f5567f5f67e77","responseTime":13,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95?"} 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/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db'"} 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":"00fa9090-f805-11ee-96ad-77028417699d","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/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"80299f6e-d406-43f6-8ba6-d76a56719aff","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.073931} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.068841,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","rebac_allow":false,"scope_allow":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":"0104c9c0-f805-11ee-96ad-77028417699d"},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling 200 11ms","method":"POST","requestID":"0104c9c0-f805-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1d338fcf-959f-4e82-be73-22fadefcfb3d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.086901} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.769215,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","rebac_allow":false,"scope_allow":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":"0106eca0-f805-11ee-96ad-77028417699d"},"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/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling 200 12ms","method":"POST","requestID":"0106eca0-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","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":"8729e7781766a859ad30bb0c96209e48","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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"8729e7781766a859ad30bb0c96209e48","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"8729e7781766a859ad30bb0c96209e48"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","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/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","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":"9fa5768851842a5438fabb7ab7da6a39","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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9aa48de-6a6b-492d-b8c5-7f5a6a6a23f1","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.3086092} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.944821,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","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":"01287e60-f805-11ee-96ad-77028417699d"},"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/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db 200 12ms","method":"GET","requestID":"01287e60-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 42ms","method":"POST","requestID":"9fa5768851842a5438fabb7ab7da6a39","responseTime":42,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fa5768851842a5438fabb7ab7da6a39"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"077fd0c2-85a4-4e38-8cca-12876bae84fb","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.3429222} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.828759,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","rebac_allow":false,"scope_allow":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":"012dd590-f805-11ee-96ad-77028417699d"},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling 200 12ms","method":"POST","requestID":"012dd590-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13fa12e0-d666-4eac-a91c-e0c05e8ea86f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.3574295} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.454357,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","rebac_allow":false,"scope_allow":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":"01301f80-f805-11ee-96ad-77028417699d"},"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/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling 200 11ms","method":"POST","requestID":"01301f80-f805-11ee-96ad-77028417699d","responseTime":11,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a0d8772d4de9ef2668b20f79e732b624","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.171972,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"a0d8772d4de9ef2668b20f79e732b624"},"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/feb5f95a-f9a7-45d5-8805-dc83616f3458"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a0d8772d4de9ef2668b20f79e732b624"} experiment_1 | {"level":"info","message":"GET /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458 200 16ms","method":"GET","requestID":"a0d8772d4de9ef2668b20f79e732b624","responseTime":16,"status":200,"url":"/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"87eb5cf185834f0af409594e7b4c6967","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108615,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"87eb5cf185834f0af409594e7b4c6967"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.910897,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"013b1c00-f805-11ee-96ad-77028417699d"},"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/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47bfeb8f-f7c3-43ed-b6cd-65a0276b69db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"ad19575c-58b9-4fcf-864a-f4d6c50b8f9c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.443667} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"97af8fd627250fb876ceba44c795e8a3","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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bce290a2-d2ff-4984-9989-f5c9cc91c45d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.444089} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"013b1c00-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"96fac2984c1b96b629877e588deed6b5","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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"47bfeb8f-f7c3-43ed-b6cd-65a0276b69db","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/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db 204 57ms","method":"DELETE","requestID":"013b1c00-f805-11ee-96ad-77028417699d","responseTime":57,"status":204,"url":"/peerconnections/47bfeb8f-f7c3-43ed-b6cd-65a0276b69db"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"557f8e90-c717-403a-9a54-1c4eb1b298f4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.5106804} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.339775,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a","object_type":"device","rebac_allow":false,"scope_allow":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":"01475100-f805-11ee-96ad-77028417699d"},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling 200 12ms","method":"POST","requestID":"01475100-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffeb5f95a-f9a7-45d5-8805-dc83616f3458': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffeb5f95a-f9a7-45d5-8805-dc83616f3458","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"5266111b-1efd-4908-a769-ec17aef5d38c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.522049} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5808c1be-c623-4a0b-a1af-ffeb833a0095","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.5224864} 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":"87eb5cf185834f0af409594e7b4c6967"},"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:38658","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f0517a9-42f1-477b-9e5b-293a7e582b95","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6e7f5948-e3ba-41c1-b955-666f0e7894e0","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.529287} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.946991,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95","object_type":"device","rebac_allow":false,"scope_allow":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":"0149c200-f805-11ee-96ad-77028417699d"},"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/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling 200 18ms","method":"POST","requestID":"0149c200-f805-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458 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":"87eb5cf185834f0af409594e7b4c6967"} experiment_1 | {"level":"info","message":"DELETE /experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458 204 184ms","method":"DELETE","requestID":"87eb5cf185834f0af409594e7b4c6967","responseTime":184,"status":204,"url":"/experiments/feb5f95a-f9a7-45d5-8805-dc83616f3458"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"97af8fd627250fb876ceba44c795e8a3","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.154","http_referrer":"","http_user_agent":"node-fetch","requestID":"97af8fd627250fb876ceba44c795e8a3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 150ms","method":"POST","requestID":"96fac2984c1b96b629877e588deed6b5","responseTime":150,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch","requestID":"96fac2984c1b96b629877e588deed6b5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"7fe63ec4b725a1962a8e0eb91ca5d1f0","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1926","request_time":"0.871","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6277e85ab0b83d405dc73e613d112ea3"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2196","request_time":"0.862","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"db72eb3c4e94d8d5d32d109449cd6f9e"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.964807,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2f0517a9-42f1-477b-9e5b-293a7e582b95' closed"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"7fe63ec4b725a1962a8e0eb91ca5d1f0"},"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/9e8ad343-5a0c-4b7f-9b0c-838e1b37305a' 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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"03e32b7c-9609-487e-afd0-a4dd3fce211f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6277456} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7fe63ec4b725a1962a8e0eb91ca5d1f0"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a9be435d-407b-4177-859e-250a0241a34e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.632072} 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":"7fe63ec4b725a1962a8e0eb91ca5d1f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"bcacdba5-7a5d-44f9-9299-9372fa8d4280","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6420472} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d3cac44-5b95-48b5-9957-cce9c7648f7f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6422062} 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":"7fe63ec4b725a1962a8e0eb91ca5d1f0"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.642019056Z"}]},"request_id":"cb5276ff-4c8e-4d4b-8f92-94c47a321da3","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6465137} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7fe63ec4b725a1962a8e0eb91ca5d1f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 46ms","method":"POST","requestID":"7fe63ec4b725a1962a8e0eb91ca5d1f0","responseTime":46,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7fe63ec4b725a1962a8e0eb91ca5d1f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c4bd9a06254787c828c9fe662c3d7d90","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.706858,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841087,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4N30.64x4DIvt_rK4ytXDFjtnv5Ju9HeIXDfvm6RmcUhkKfk"} 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":"c4bd9a06254787c828c9fe662c3d7d90"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0efd3306-70ab-4a15-8cff-44986119178b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6740477} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4bd9a06254787c828c9fe662c3d7d90"},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fa250464-c3da-4d7c-88ed-dbded81e43ee","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6791072} 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":"c4bd9a06254787c828c9fe662c3d7d90"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"88529eb3-f92b-42d9-8162-f1d674ade356","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6917803} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1e270222-50a0-4111-a987-9cb832d34aa9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6919472} 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":"c4bd9a06254787c828c9fe662c3d7d90"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"cfab94cb-cd24-47d7-a4ad-95bc11bbadca","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841087.6973786} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c4bd9a06254787c828c9fe662c3d7d90"},"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":"c4bd9a06254787c828c9fe662c3d7d90","responseTime":44,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"11/Apr/2024:13:11: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.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c4bd9a06254787c828c9fe662c3d7d90"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9ed08ab8f5113d51344658f595dde369","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/websocket 200 1ms","method":"OPTIONS","requestID":"9ed08ab8f5113d51344658f595dde369","responseTime":1,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/websocket"} gateway_1 | {"time_local":"11/Apr/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/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":"9ed08ab8f5113d51344658f595dde369"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3936743c593e8ff01a9d96d0de39ca7f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.210244,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3936743c593e8ff01a9d96d0de39ca7f"},"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":"11/Apr/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.042","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3936743c593e8ff01a9d96d0de39ca7f"} device_1 | {"level":"info","message":"POST /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/websocket 200 36ms","method":"POST","requestID":"3936743c593e8ff01a9d96d0de39ca7f","responseTime":36,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ed0cd2674bd5095d1191c1a4534211d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.15657,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed0cd2674bd5095d1191c1a4534211d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"424c3aa1-3924-4969-bdc1-15fc285bc727","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841089.799201} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed0cd2674bd5095d1191c1a4534211d"},"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":"11/Apr/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 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":"5ed0cd2674bd5095d1191c1a4534211d"} device_1 | {"level":"info","message":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 200 17ms","method":"GET","requestID":"5ed0cd2674bd5095d1191c1a4534211d","responseTime":17,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"733408d5bb52b73259284d0dce57bdb1","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:38658","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.497007,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"733408d5bb52b73259284d0dce57bdb1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"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:38658","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.121281,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"02b07df0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.320197,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"02b0a500-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2d031b9b-324f-420b-8b3f-d2b9fad3d03c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.642019056Z"}]},"request_id":"ad056bb4-c02f-46d4-9359-1b0388ce5a9c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841089.8905706} 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":"02b07df0-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"8b0bb98d-da39-4e0e-8f32-c8f3ee41027f","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841089.8924272} 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":"02b0a500-f805-11ee-96ad-77028417699d"},"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/2d031b9b-324f-420b-8b3f-d2b9fad3d03c? 200 27ms","method":"GET","requestID":"02b07df0-f805-11ee-96ad-77028417699d","responseTime":27,"status":200,"url":"/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 200 29ms","method":"GET","requestID":"02b0a500-f805-11ee-96ad-77028417699d","responseTime":29,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.141242,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:29Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","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":"02b7a9e0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"fca53132-ae6c-4ce1-ad49-59bc4f7a6ae7","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841089.9522386} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16420ff4-ac19-4c5d-b52b-c751246eaeb6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841089.9524791} 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":"02b7a9e0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":13}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 20ms","method":"POST","requestID":"02be60a0-f805-11ee-a882-c3fa0f6cc3e3","responseTime":20,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 71ms","method":"POST","requestID":"02b7a9e0-f805-11ee-96ad-77028417699d","responseTime":71,"status":201,"url":"/devices/2d031b9b-324f-420b-8b3f-d2b9fad3d03c?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"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:38658","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.236597,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:30Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"02cabcb0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:48266","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.948259,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"02cae3c0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"44cc5b22-b296-4ecd-b421-1f0f2570e443","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.0556939} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.042771,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","rebac_allow":false,"scope_allow":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":"02cb31e0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:29.952205520Z"}]},"request_id":"454115d5-7290-490c-86a4-23d7fc77fc61","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.0599928} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"d87fb74b-0b0d-4218-aa28-fb90ff734ef2","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.06215} 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":"02cabcb0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"level":"info","message":"POST /relations/query 200 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":"02cae3c0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 50375e10-d7d2-45c7-9370-2bf50e1076e8","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 50375e10-d7d2-45c7-9370-2bf50e1076e8\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/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"02cb31e0-f805-11ee-96ad-77028417699d"} device_1 | {"level":"info","message":"POST /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling 404 23ms","method":"POST","requestID":"02cb31e0-f805-11ee-96ad-77028417699d","responseTime":23,"status":404,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"} experiment_1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 50375e10-d7d2-45c7-9370-2bf50e1076e8"},"status":404}},"level":"error","message":"Could not send status-update message"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbca8305d-2c50-451d-a6e4-21bb7f675a95#owner@http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbca8305d-2c50-451d-a6e4-21bb7f675a95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"4b159cf0-f454-46a5-a774-549df81772b6","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.0706878} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c813a4ad-99a5-40d1-bea0-529f6d990b97","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.0711443} 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":"733408d5bb52b73259284d0dce57bdb1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":19}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8? 200 32ms","method":"GET","requestID":"02cabcb0-f805-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8?"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:30Z"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 200 32ms","method":"GET","requestID":"02cae3c0-f805-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee?"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7d7b522-8345-44c8-83d7-9f7c6adf56dd","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841090.0779374} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.220931,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:30Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","rebac_allow":false,"scope_allow":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":"02cf2980-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95","user":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} experiment_1 | {"level":"info","message":"POST /experiments? 201 266ms","method":"POST","requestID":"733408d5bb52b73259284d0dce57bdb1","responseTime":266,"status":201,"url":"/experiments?"} device_1 | {"level":"info","message":"POST /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling 200 12ms","method":"POST","requestID":"02cf2980-f805-11ee-96ad-77028417699d","responseTime":12,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling"} gateway_1 | {"time_local":"11/Apr/2024:13:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.290","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"733408d5bb52b73259284d0dce57bdb1"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"79afad32a5fd118fa0636a0530a5d0a4","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"11/Apr/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/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":"79afad32a5fd118fa0636a0530a5d0a4"} device_1 | {"level":"info","message":"OPTIONS /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/websocket 200 1ms","method":"OPTIONS","requestID":"79afad32a5fd118fa0636a0530a5d0a4","responseTime":1,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6IndTQVpIMXFwc3ZzeGJJM3JVU1haR2VWcHZEZHJVWGliNmlZZE1ja0VyVWpIM01yNDNPMmFqcmV1cmdEMFh0WVNyTU1FSWowdGhGaEhvbVg0R3lrT0VnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.YN-MA_mHEsFExBiBwUGJl3yrpFrhF11HhuOnmeGHbNY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8682da00e543bbdde21af6e61f80c79c","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.410577,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","payload":{"admin":true,"edgeToken":"wSAZH1qpsvsxbI3rUSXZGeVpvDdrUXib6iYdMckErUjH3Mr43O2ajreurgD0XtYSrMMEIj0thFhHomX4GykOEg","iat":1712841092,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6IndTQVpIMXFwc3ZzeGJJM3JVU1haR2VWcHZEZHJVWGliNmlZZE1ja0VyVWpIM01yNDNPMmFqcmV1cmdEMFh0WVNyTU1FSWowdGhGaEhvbVg0R3lrT0VnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.YN-MA_mHEsFExBiBwUGJl3yrpFrhF11HhuOnmeGHbNY"} 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":"8682da00e543bbdde21af6e61f80c79c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"11/Apr/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/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":"8682da00e543bbdde21af6e61f80c79c"} device_1 | {"level":"info","message":"POST /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/websocket 200 27ms","method":"POST","requestID":"8682da00e543bbdde21af6e61f80c79c","responseTime":27,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8' 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":"e0722b9eae926d5c73703a3f5224cf0f","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","device":{"announcedAvailability":[],"connected":true,"description":"A JS test device","isPublic":true,"name":"JS Device 1","services":[],"type":"device","url":"http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.Y-GYM6ucJFvma_L7h1h6GlclYaTuUCzdms9W_zHI9XQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"695c45c428c702b503ae49c82efbc9b5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.383148,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841092,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.Y-GYM6ucJFvma_L7h1h6GlclYaTuUCzdms9W_zHI9XQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"695c45c428c702b503ae49c82efbc9b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 14ms","method":"POST","requestID":"e0722b9eae926d5c73703a3f5224cf0f","responseTime":14,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch","requestID":"e0722b9eae926d5c73703a3f5224cf0f"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:29.952205520Z"}]},"request_id":"eb408100-3893-4355-ac79-b4df16a92f67","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841092.1581674} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"695c45c428c702b503ae49c82efbc9b5"},"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":"11/Apr/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8? 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":"695c45c428c702b503ae49c82efbc9b5"} device_1 | {"level":"info","message":"GET /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8? 200 13ms","method":"GET","requestID":"695c45c428c702b503ae49c82efbc9b5","responseTime":13,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.Y-GYM6ucJFvma_L7h1h6GlclYaTuUCzdms9W_zHI9XQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3e04cc35f9553cca9082f7792c414f22","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240659,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841092,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5Mn0.Y-GYM6ucJFvma_L7h1h6GlclYaTuUCzdms9W_zHI9XQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e04cc35f9553cca9082f7792c414f22"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"b34bfbdd-f300-4bfa-83e9-e488b35aee5d","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841092.1811047} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e04cc35f9553cca9082f7792c414f22"},"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":"11/Apr/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 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":"3e04cc35f9553cca9082f7792c414f22"} device_1 | {"level":"info","message":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 200 18ms","method":"GET","requestID":"3e04cc35f9553cca9082f7792c414f22","responseTime":18,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee?"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.140662,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"05cbeec0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:39254","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:39254","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.613299,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"05cc63f0-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:29.952205520Z"}]},"request_id":"f4b8fd29-ab96-411e-9a88-1375018dbb18","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.105613} 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":"05cbeec0-f805-11ee-96ad-77028417699d"},"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:41506","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"},"timestamp":"2024-04-11T13:11:27.691740964Z"}]},"request_id":"fbd977a6-5056-4471-b1f3-c670f5d82d06","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.1074808} 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":"05cc63f0-f805-11ee-96ad-77028417699d"},"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/50375e10-d7d2-45c7-9370-2bf50e1076e8? 200 32ms","method":"GET","requestID":"05cbeec0-f805-11ee-96ad-77028417699d","responseTime":32,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/51011125-b3df-4931-b2d5-6d2a065ed9ee? 200 31ms","method":"GET","requestID":"05cc63f0-f805-11ee-96ad-77028417699d","responseTime":31,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1fd2377-6199-46b0-b760-23f4c78f411e","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.1289296} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.483637,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","rebac_allow":false,"scope_allow":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":"05d19410-f805-11ee-96ad-77028417699d"},"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/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling 200 16ms","method":"POST","requestID":"05d19410-f805-11ee-96ad-77028417699d","responseTime":16,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"70e46eaa-25cf-40cf-8a35-f3d8384ccb1b","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.1472828} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.106859,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","rebac_allow":false,"scope_allow":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":"05d47a40-f805-11ee-96ad-77028417699d"},"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/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling 200 17ms","method":"POST","requestID":"05d47a40-f805-11ee-96ad-77028417699d","responseTime":17,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1fbd8d83-4734-4cd5-a895-81567fead6e2"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"05038a39-47bd-4098-94b9-bc0c4885b356"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6aa243c3-b9f3-418c-b0c5-56a58aa8f492"}]},"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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.710406,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841089,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA4OX0.AMpKQt4nMn8hlZWOZhuZSJ6JAWgA7kMVvvEp9psnkDM"} 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":"05d78780-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","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%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]}},"raw_response":{},"request_id":"a6792fea-271c-401e-9f19-5a63f6c62d0c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.179837} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6db4e7d3-f14e-4a80-a058-e7f1398c6cf5","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.1802957} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"05d78780-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 50ms","method":"POST","requestID":"05d78780-f805-11ee-96ad-77028417699d","responseTime":50,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"df8aae49-12bf-4324-a3bd-d61edb234b29","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.256117} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.409393,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","rebac_allow":false,"scope_allow":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":"05e56a30-f805-11ee-96ad-77028417699d"},"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/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling 200 10ms","method":"POST","requestID":"05e56a30-f805-11ee-96ad-77028417699d","responseTime":10,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d144390-4a68-40ca-8469-a5e7146e7547","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.2685735} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.452205,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","rebac_allow":false,"scope_allow":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":"05e73ef0-f805-11ee-96ad-77028417699d"},"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/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling 200 8ms","method":"POST","requestID":"05e73ef0-f805-11ee-96ad-77028417699d","responseTime":8,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","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":"a1e3723143d9868e1d0fe70f9f50ce5b","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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"a1e3723143d9868e1d0fe70f9f50ce5b","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","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":"a1e3723143d9868e1d0fe70f9f50ce5b"} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","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/a83cf126-f8c7-485e-9f2d-67d48d98c82a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","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":"0a5fccba3691c77227ab944a9e8bfc72","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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa83cf126-f8c7-485e-9f2d-67d48d98c82a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"184fffa6-69a2-4464-80b4-34828224aa03","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.48233} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.951332,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a","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":"06079830-f805-11ee-96ad-77028417699d"},"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/a83cf126-f8c7-485e-9f2d-67d48d98c82a 200 14ms","method":"GET","requestID":"06079830-f805-11ee-96ad-77028417699d","responseTime":14,"status":200,"url":"/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 44ms","method":"POST","requestID":"0a5fccba3691c77227ab944a9e8bfc72","responseTime":44,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","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":"0a5fccba3691c77227ab944a9e8bfc72"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2684a0c4-9713-4260-8ca8-136b905d0321","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.519274} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.037048,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","rebac_allow":false,"scope_allow":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":"060d1670-f805-11ee-96ad-77028417699d"},"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/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling 200 18ms","method":"POST","requestID":"060d1670-f805-11ee-96ad-77028417699d","responseTime":18,"status":200,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"46b9a394-72b9-4924-b4ba-96a83c7d1a30","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.5394058} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.162384,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","rebac_allow":false,"scope_allow":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":"06104ac0-f805-11ee-96ad-77028417699d"},"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/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling 200 15ms","method":"POST","requestID":"06104ac0-f805-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2109b871da62ce1fcf4b18479bca0abd","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.297906,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841095,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs"} 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":"2109b871da62ce1fcf4b18479bca0abd"},"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/bca8305d-2c50-451d-a6e4-21bb7f675a95"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2109b871da62ce1fcf4b18479bca0abd"} experiment_1 | {"level":"info","message":"GET /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95 200 21ms","method":"GET","requestID":"2109b871da62ce1fcf4b18479bca0abd","responseTime":21,"status":200,"url":"/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0fbdb12ad9103f18b659b0938a6b472a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.254185,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"experiment:http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95","object_type":"experiment","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841095,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs"} 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":"0fbdb12ad9103f18b659b0938a6b472a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.156389,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"peerconnection:http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841095,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs"} 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":"061b2030-f805-11ee-96ad-77028417699d"},"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/a83cf126-f8c7-485e-9f2d-67d48d98c82a' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","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":"6be81d2f839e10e6c6e31ac72686754a","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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7b5131f6118358e3edf3d1b15b2b1aeb","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa83cf126-f8c7-485e-9f2d-67d48d98c82a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fa83cf126-f8c7-485e-9f2d-67d48d98c82a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"1d5c7254-6543-426e-a800-2e1cc3a36cc4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.6369581} 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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"}}},"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:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6f485b0-4165-47d9-9809-ed55c5b3d28c","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.6374505} authorization_1 | {"level":"info","message":"POST /relations/update 200 20ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"061b2030-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":20}} device_1 | {"data":{"peerconnection":"a83cf126-f8c7-485e-9f2d-67d48d98c82a","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/a83cf126-f8c7-485e-9f2d-67d48d98c82a 204 71ms","method":"DELETE","requestID":"061b2030-f805-11ee-96ad-77028417699d","responseTime":71,"status":204,"url":"/peerconnections/a83cf126-f8c7-485e-9f2d-67d48d98c82a"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.168398,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","payload":{"admin":true,"edgeToken":"dZZrvrVfe-ZbY09VFKPQjLBFkS_GLgbCfMG951ho2RRtPBgerjMcQ3xAM9on1mQNlZ8xxxpWyLEKemC_csOO2g","iat":1712841095,"sub":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb","subject_alt":"http://localhost/users/da7e08b4-cbdf-4b52-a729-6510178a2bdb"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzL2RhN2UwOGI0LWNiZGYtNGI1Mi1hNzI5LTY1MTAxNzhhMmJkYiIsImVkZ2VUb2tlbiI6ImRaWnJ2clZmZS1aYlkwOVZGS1BRakxCRmtTX0dMZ2JDZk1HOTUxaG8yUlJ0UEJnZXJqTWNRM3hBTTlvbjFtUU5sWjh4eHhwV3lMRUtlbUNfY3NPTzJnIiwiYWRtaW4iOnRydWUsImlhdCI6MTcxMjg0MTA5NX0.7gASZYc2KD58A3CM06C-SHHWFzlvLxtg-FcRhxtNpjs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06266ad0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"71dc7282-87a0-4353-8a9c-8c8c320b4f65","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.6986732} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edb6bb68-92a6-48e2-b893-3500d7074cd4","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.699608} 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":"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":"06266ad0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"DELETE /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8 204 39ms","method":"DELETE","requestID":"06266ad0-f805-11ee-96ad-77028417699d","responseTime":39,"status":204,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"},"level":"info","message":"Successfully finished experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50375e10-d7d2-45c7-9370-2bf50e1076e8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"454d8089-f772-446b-87b5-b9c0eccf9e05","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.7474358} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.450746,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8","object_type":"device","rebac_allow":false,"scope_allow":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":"062fe0b0-f805-11ee-96ad-77028417699d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} 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/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"062fe0b0-f805-11ee-96ad-77028417699d"} device_1 | {"level":"info","message":"POST /devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling 404 16ms","method":"POST","requestID":"062fe0b0-f805-11ee-96ad-77028417699d","responseTime":16,"status":404,"url":"/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8/signaling"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbca8305d-2c50-451d-a6e4-21bb7f675a95': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbca8305d-2c50-451d-a6e4-21bb7f675a95","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2Fda7e08b4-cbdf-4b52-a729-6510178a2bdb"}]},"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","writes":null},"raw_response":{},"request_id":"146efa3d-f7cb-4fda-a04e-088973eadfc9","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.7562928} 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"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"raw_response":{"authorization_model":{"id":"01HV6MF3D7EKXJPA0NC936HDCY","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ea6f017-9e13-47ab-89a6-e13d9bece520","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.756692} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"level":"info","message":"POST /relations/update 200 22ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fbdb12ad9103f18b659b0938a6b472a"},"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:38658","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:41506","raw_request":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","contextual_tuples":null,"store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51011125-b3df-4931-b2d5-6d2a065ed9ee","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35fd75e8-9622-4948-b7ff-0c4de26acb37","store_id":"01HV6MF3B9AXZGG7ADSHE8VNYX","subsystem":"openfga","timestamp":1712841095.7668316} authorization_1 | {"client_addr":"127.0.0.1:38658","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.041653,"resp_status":200,"subsystem":"opa","time":"2024-04-11T13:11:35Z"} authorization_1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","openfga":{"authorization_model_id":"01HV6MF3D7EKXJPA0NC936HDCY","store":"01HV6MF3B9AXZGG7ADSHE8VNYX"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee","object_type":"device","rebac_allow":false,"scope_allow":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":"0632edf0-f805-11ee-96ad-77028417699d"},"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/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling 200 15ms","method":"POST","requestID":"0632edf0-f805-11ee-96ad-77028417699d","responseTime":15,"status":200,"url":"/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee/signaling"} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fbdb12ad9103f18b659b0938a6b472a"} experiment_1 | {"level":"info","message":"DELETE /experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95 204 243ms","method":"DELETE","requestID":"0fbdb12ad9103f18b659b0938a6b472a","responseTime":243,"status":204,"url":"/experiments/bca8305d-2c50-451d-a6e4-21bb7f675a95"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 197ms","method":"POST","requestID":"6be81d2f839e10e6c6e31ac72686754a","responseTime":197,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.202","http_referrer":"","http_user_agent":"node-fetch","requestID":"6be81d2f839e10e6c6e31ac72686754a"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 195ms","method":"POST","requestID":"7b5131f6118358e3edf3d1b15b2b1aeb","responseTime":195,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b5131f6118358e3edf3d1b15b2b1aeb"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1927","request_time":"6.073","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"754c5cfbe66bedbab25195cd19bbcad9"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1955","request_time":"3.715","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d59363cde9080671e3b40d676e30d82"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/50375e10-d7d2-45c7-9370-2bf50e1076e8' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/51011125-b3df-4931-b2d5-6d2a065ed9ee' 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":"2aba7db04465c04b3e2a156841567e27","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/50375e10-d7d2-45c7-9370-2bf50e1076e8"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 2ms","method":"POST","requestID":"2aba7db04465c04b3e2a156841567e27","responseTime":2,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"11/Apr/2024:13:11:35 +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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"2aba7db04465c04b3e2a156841567e27"} integration-test_authorization_1 exited with code 0 integration-test_federation_1 exited with code 143 integration-test_device_1 exited with code 143 integration-test_authentication_1 exited with code 143 integration-test_experiment_1 exited with code 143 integration-test_gateway_1 exited with code 0